Oracle分組查詢以分鐘為單位

時間 2022-02-10 14:05:09

1樓:匿名使用者

這個問題得值300分啊。

寫了一段**,你可以試試。

select btime,etime,count(1)

from

(select '1'custno, to_date('2014-02-10 10:00:00','yyyy-mm-dd hh24:

mi:ss')trxtime from dual

union all

select '1'custno, to_date('2014-02-10 10:11:00','yyyy-mm-dd hh24:

mi:ss')trxtime from dual

)a --交易表

join

(select my_date+(rn-1)/(24*6) btime,my_date+rn/(24*6)etime

from

(select rownum rn from dual connect by rownum<=24*6 )temp1,

(select to_date('2014-2-8','yyyy-mm-dd')+rownum-1 my_date from dual

connect by rownum<=4

)temp2

)--構造的時間分段表

on a.trxtime >btime and a.trxtime<=etime

group by btime,etime;

--24*6 即是10分鐘為單位, 通過設定可獲得任意時間的間隔

2樓:匿名使用者

select floor((購買時間 - to_date(2014-02-08,'yyyy-mm-dd')) * 24 *30),  -- 每2分鐘

sum(購買數量)

from 購買商品的表

where 購買時間 between to_date(2014-02-08,'yyyy-mm-dd') and to_date(2014-02-11,'yyyy-mm-dd')

group by floor((購買時間 - to_date(2014-02-08,'yyyy-mm-dd')) * 24 *30)

oracle 按分鐘分組查詢

3樓:

select count(*) from your_table

group by trunc(to_number(to_char(date的字段,'mi'))/10,0) ;試試

4樓:匿名使用者

可以私信我 我這邊有答案

oracle 分組查詢

5樓:匿名使用者

建立測試表

create table test

(id int,

month int,

dept_id varchar2(10),

counts int,--由於你給的欄位名是關鍵字,這裡我稍作修改

al int);--這個欄位同上

insert into test values (1,1,'市北',20,100);

insert into test values (2,1,'市南',30,100);

insert into test values (3,2,'市北',30,100);

insert into test values (4,2,'市南',40,100);

insert into test values (5,3,'市北',50,100);

insert into test values (6,3,'市南',60,100);

sql語句

select t.month,

max(decode(t.dept_id,'市北',t.persent,0)) 市北,

max(decode(t.dept_id,'市南',t.persent,0)) 市南

from

(select month,dept_id,(counts/al)*100||'%' persent from test) t

group by  t.month

結果截圖

6樓:手機使用者

easy

select id, shouyi, riqifrom b b1

where not exists (select 1 from b where id = b1.id and riq > b1.riqi)

oracle查詢語句怎麼樣按天分組

7樓:龍氏風采

1)可行,但是需要注意,如果想讓st欄位的值出現在select語句中,需要這麼寫

select to_char(st,'yyyy-mm-dd'),count(st)

from table_name

group by to_char(st,'yyyy-mm-dd');

2)sql文如下:

select to_date(st,'yyyy-mm-dd'),count(st)

from table_name

group by to_date(st,'yyyy-mm-dd');

使用to_date()函式即可。

ps:既然以date型別儲存的話,可以先察看當前的預設日期型別

select sysdate from dual;

如果已經擷取到日期了,那麼可以直接使用一下語句:

select st,count(st)

from table_name

group by st;

8樓:匿名使用者

group by trunc(你的日期列,'dd'),

oracle根據時間年度分組 時間為date型別

9樓:匿名使用者

需要用to_char函式將date型別轉換成字元型別再分組。

如emp表中資料如下:

現要求按hiredate的年份分組,求出各年份的人數,可用如下語句:

select to_char(hiredate,'yyyy') year,count(*) pcount from emp group by to_char(hiredate,'yyyy');

查詢結果:

10樓:匿名使用者

group by sj的話就是按照具體時間分組了

你可以group by to_char(sj,'yyyy') 這樣就按照年分組了

oracle sql用select過程進行分組排序查詢

11樓:匿名使用者

select row_number() over (partition by 類別 order by 金額 desc) 名次, 類別,商品,金額 from 表名

12樓:匿名使用者

實現思路:通過select進行查詢,通過group by進行分組後,之後通過order by進行排序。

sql:select username from tablename order by username desc group by username;

以上就是通過username欄位降序排序(公升序是asc、降序是desc)。

oracle按小時分組查詢

13樓:大海燎原

select

decode(tl, '00:00——00:30', to_char(a-1,'yyyymmdd'), to_char(a,'yyyymmdd')) as 天,

decode(tl, '00:00——00:30', '16:

31——00:30', '16:31——00:

00', '16:31——00:30', t1) as 時間段,

sum(b)

from

(select

a,case

when to_char(a, 'hhmi') <='0030' then '00:00——00:30'

when to_char(a, 'hhmi') between '0031' and '0830' then '00:30——08:30'

when to_char(a, 'hhmi') between '0031' and '1630' then '00:31——16:30'

when to_char(a, 'hhmi') >= '1631' then '16:31——00:00'

else ''

end as tl,

bfrom table_name

)group by

decode(tl, '00:00——00:30', to_char(a-1,'yyyymmdd'), to_char(a,'yyyymmdd')),

decode(tl, '00:00——00:30', '16:

31——00:30', '16:31——00:

00', '16:31——00:30', t1)

14樓:匿名使用者

select to_char('mm/dd/yyyy hh24',a) 時間,sum(b) from tablename t group by to_char('mm/dd/yyyy hh24',a) order by to_char('mm/dd/yyyy hh24',a)

15樓:死憋狂戰的神牛

用over partition by

oracle根據日期分組查詢統計問題

16樓:

select 日期,新增會員人數,sum(新增會員人數) over (order by 日期 asc) as 當日會員總數

from (select add_time 日期,count(add_username) as 新增會員人數

from user group by add_time) t

sql查詢多表排序,sql多表分組查詢並排序的問題

select table2.from table2 inner join table1 on table2.table1 id table1.id order by table1.paixu 就像你寫的這樣,直接加過濾條件就可以 但是要在字段前加表名字首以區分兩個表的id欄位 select tabl...

Oracle百萬級資料的查詢與操作

我來說下 oracle的資料分割槽 主要是1.當表和索引變得非常大時,分割槽可以是資料分為更小 更容易管理的部分。2 如果具有多個cpu的系統中存在乙個大型表,則對該錶進行分割槽可以通過並行操作獲得更好的效能。適用於包含大資料量的表轉到分割槽表中的乙個分割槽的操作。是大量資料轉到分割槽表中的乙個分割...

請問一下 有表,根據它的id分組查詢 分組後的每個id 前4條資料,怎樣寫sql語句

擅長資料庫育兒 首先,按照id分組後的前4條資料是根據什麼字段排序取的前4條資料,假設情況如下。表有兩列,一列為id列,一列為排序列,假設為score。即表如下 id score 1 99 1 98 1 97 1 96 1 95 2 100 2 87 2 96 你所要的結果應該是這樣的?取按照課程號...