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 你所要的結果應該是這樣的?取按照課程號...