統計3天內每15分鐘內的資料量, PL SQL 統計3天內每15分鐘內的資料量

2022-02-14 16:36:31 字數 5318 閱讀 6375

1樓:小狂中

with t as (

select cast(trunc(systimestamp) as timestamp)-numtodsinterval(level*15, 'minute') f1,

cast(trunc(systimestamp) as timestamp)-numtodsinterval((level-1)*15, 'minute') f2

from dual

connect by level<=4*24*3)select t.f1, f1.f2, count(1)from t left join s

on s.time>=t1.f1 and s.time

2樓:

select to_char(日期,'yyyymmddhh24') , to_number(to_char(日期,'mi'))/15 , count(1)

from table

group by to_char(日期,'yyyymmddhh24') , to_number(to_char(日期,'mi'))/15

order by 1,2;

oracle以15分鐘為界,統計一天內各時間段的資料筆數。

3樓:匿名使用者

我試了下,樓上的做法是可行的,我稍微優化了下,看起來清晰一點。

select count(*),

(case floor((to_char(db_time,'mi'))/15)

when 0 then to_char(db_time,'yyyy.mm.dd hh')||':00:00'

when 1 then to_char(db_time,'yyyy.mm.dd hh')||':15:00'

when 2 then to_char(db_time,'yyyy.mm.dd hh')||':30:00'

when 3 then to_char(db_time,'yyyy.mm.dd hh')||':45:00'

end) as db_time

from table

group by db_time

4樓:匿名使用者

這麼難得題目都不給點分!試試把,看可不可以!

select count(*),

case floor((to_char(dtime,'mi'))/15)

when 0 then to_char(dtime,'yyyymmddhh')||'0000'

when 1 then to_char(dtime,'yyyymmddhh')||'1500'

when 2 then to_char(dtime,'yyyymmddhh')||'3000'

when 3 then to_char(dtime,'yyyymmddhh')||'4500'

end as d_time

from table

group by d_time

oracle每隔十五分鐘統計一次

5樓:匿名使用者

提供點思路給你

每個多少分鐘做一次什麼動作,其實就是一個無限迴圈的過程,加上中斷的時間,整體看起來就是每中斷一段時間就執行一次儲存過程。

可以考慮用以下的語句

oracle dbms_lock.sleep()

oracle 查詢一段時間內每一天的統計資料sql怎麼寫

6樓:

因為有"如果有一天沒有記錄記為0"這個要求,故需要實現一個函式:該函式返回起始與終止日期之間的所有日期記錄,用table查詢此函式返回的記錄,並做統計。

7樓:匿名使用者

還有這麼到的???2015-09-01到2014-09-12select date,count(*) as number from table_name where date = '2015-09-01'

union

select date,count(*) as number from table_name where date = '2015-09-02'

如果天數比較少 可以這麼幹,如果比較多可以寫儲存過程,迴圈搞

8樓:徘徊行忍

可以寫一個簡單的procedure來實現,原理是遍歷日期範圍,並查詢日期資料筆數,寫入表。

資料來源表test03

1 2016-06-01 1

2 2016-06-02 1

3 2016-06-05 1

4 2016-06-04 1

5 2016-06-04 1

procedure**如下:

create or replace procedure loop_by_date(pbeg_tim in varchar2,--開始日期

pend_tim in varchar2,--結束日期

errmessage out varchar2) is

ncount number(10); --總天數

i_point number(10); --當天

is_zero number(10); --當天是否有記錄

begin

ncount := 0;

i_point := 0;

is_zero := 0;

select round(to_date(pend_tim, 'yyyy-mm-dd') -

to_date(pbeg_tim, 'yyyy-mm-dd'))

into ncount

from dual;

delete from test02;

<>loop

select count(*)

into is_zero

from test03

where date1 =

to_char(to_date(pbeg_tim, 'yyyy-mm-dd') + i_point, 'yyyy-mm-dd');

insert into test02

(date01, nccount)

values

(to_char(to_date(pbeg_tim, 'yyyy-mm-dd') + i_point, 'yyyy-mm-dd'),

is_zero);

i_point := i_point + 1;

exit fst_loop when i_point >= ncount;

end loop fst_loop;

--end;

end loop_by_date;

傳入引數"2016-06-01"~~"2016-06-10"並執行,結果寫入test02為:

1 2016-06-01 1

2 2016-06-02 1

3 2016-06-03 0

4 2016-06-04 2

5 2016-06-05 1

6 2016-06-06 0

7 2016-06-07 0

8 2016-06-08 0

9 2016-06-09 0

oracle 查詢一段時間內每一天的統計資料sql怎麼寫?

9樓:匿名使用者

還有這麼到的???2015-09-01到2014-09-12select date,count(*) as number from table_name where date = '2015-09-01'

union

select date,count(*) as number from table_name where date = '2015-09-02'

如果天數比較少 可以這麼幹,如果比較多可以寫儲存過程,迴圈搞

mysql中統計一天之內每個時間段內的資料,很急

10樓:匿名使用者

時間段統計,可以採用 hour(subscribe_time) 取出小時然後分層。思路:

select

uid,case when hour(subscribe_time) between 0 and 1 then '00:00:00'

when hour(subscribe_time) between 2 and 3 then '02:00:00'

...else '23:00:00' end -- 生成時間分層部分,insert前外層sql加上日期後作為唯一的時間值

,count(*)

from yht_fans where subscribe_time>=unix_timestamp(curdate()) and subscribe_time<=unix_timestamp(curdate())+86400

group by 1,2

11樓:磐石孤星

@param pay_time資料庫時間戳欄位@param price_transaction資料庫**欄位$date = '2018-09-21';

$sql = "

select

hour (from_unixtime(pay_time)) as hour,

sum(price_transaction) as sumfrom

zt_order

where

from_unixtime(pay_time, '%y-%m-%d') = '$date'

group by

hour (from_unixtime(pay_time))order by

hour (from_unixtime(pay_time))";$query = $this->db->query($sql);

$data = $query->result_array();

返回每個小時對應的和

不足的地方在於如果該時間段資料為0,則不返回資料

oracle 用sql查詢一個時間段每天的資料量

12樓:匿名使用者

按日做彙總啊:

select trunc(datecol) 日期,sum(數量) 數量和,count(1) 資料量

from tablex

where to_char(datecol,'yyyymm') = '201305'

group by trunc(datecol);

簡短的自我介紹一分鐘內,1分鐘內簡短的自我介紹

我叫吳秋泓.是來自湖南株洲,今年17歲。我是一個性格活潑開朗愛好廣泛的女孩,對播專音主持和奔 這個很好回答的拉.加油加油 1分鐘內簡短的自我介紹 只要把自己的個性表現出來就好,自我介紹,還是自己比較瞭解自己吧。自我介紹的內容不是最重要的,最重要的是要自信 好好表現 一分鐘的簡短自我介紹 1 要善於瞭...

如何在20分鐘內將閱讀速度提升3倍

閱讀,它是一種比較複雜的智力活動,在閱讀過程中,閱讀能力的高低,也影響對知識的獲得,如何進行有效的閱讀,提高閱讀能力是非常關鍵的。下面將介紹幾種提高閱讀能力的技巧。一 反覆閱讀 二 泛讀和精讀 三 培養好的閱讀習慣 四 擴大閱讀面 五 學會默讀 如何在20分鐘內將閱讀速度提升3倍 如何讓自己的閱讀速...

初二資訊科技VB期末測試 15分鐘內答我分全部給你

dim 體重 as single,身高 as single,p as single private sub command1 click 體重 val 身高 val p 體重 100000 身高 3 if p 1 then 體型太瘦 if p 1 and p then 有點瘦 if p and p ...