oracle按天,周,月,季度,年查詢(xún)排序
天--to_char(t.start_time,'YYYY-MM-DD')周 --to_char(t.start_time,'YYYY'),to_char(t.start_time,'IW')月度--to_char(t.start_time,'YYYY-MM')季度--to_char(t.start_time,'YYYY'),to_char(t.start_time,'Q')年度--to_char(t.start_time,'YYYY')
按天查詢(xún)
select to_char(t.start_time,'YYYY-MM-DD') day ,count(*) from test t where to_char(t.start_time,'YYYY')='2019' --條件限制group by to_char(t.start_time,'YYYY-MM-DD') --分組order by to_char(t.start_time,'YYYY-MM-DD') --排序
按周查詢(xún)
select to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'IW'),count(*) from test t where to_char(t.start_time,'YYYY')='2019' --條件限制group by to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'IW')--分組order by to_char(t.start_time,'YYYY') year,to_char(t.start_time,'IW') --排序
按月度查詢(xún)
select to_char(t.start_time,'YYYY-MM') ,count(*) from test t where to_char(t.start_time,'YYYY')='2019' --條件限制group by to_char(t.start_time,'YYYY-MM') --分組order byto_char(t.start_time,'YYYY-MM') --排序
按季度查詢(xún)
select to_char(t.start_time,'YYYY') year ,to_char(t.start_time,'Q'),count(*) from test t where to_char(t.start_time,'YYYY')='2019' --條件限制group by to_char(t.start_time,'YYYY') ,to_char(t.start_time,'Q')--分組order byto_char(t.start_time,'YYYY') ,to_char(t.start_time,'Q')--排序
按年度查詢(xún)
select to_char(t.start_time,'YYYY') year ,count(*) from test t where to_char(t.start_time,'YYYY')='2019' --條件限制group by to_char(t.start_time,'YYYY') --分組order by to_char(t.start_time,'YYYY') --排序
知識(shí)點(diǎn)擴(kuò)展:oracle 實(shí)現(xiàn)按天,周,月,季度,年查詢(xún)統(tǒng)計(jì)數(shù)據(jù)
這里提供了一種方法,挺不錯(cuò)oracle 實(shí)現(xiàn)按周,月,季度,年查詢(xún)統(tǒng)計(jì)數(shù)據(jù) 。
還在網(wǎng)上看到用trunc來(lái)搞也可以,下面是個(gè)例子,兩句SQL效果一樣的.
id有重復(fù)的,所以group by搞了兩個(gè)字段.
只在Oracle數(shù)據(jù)庫(kù)里試過(guò),其它庫(kù)沒(méi)試過(guò)。
create table CONSUMER_ACC ( ID VARCHAR2(50) not null , ACC_NUM VARCHAR2(10), DATETIME DATE ) select t.id,trunc(t.datetime, 'mm' ) as d, sum (t.acc_num) as n from CONSUMER_ACC t --where group by t.id,trunc(t.datetime, 'mm' ) order by n desc ; select t.id,to_char(t.datetime, 'mm' ) d , sum (t.acc_num) n from CONSUMER_ACC t --where group by t.id,to_char(t.datetime, 'mm' ) order by n desc ------------------------------------------------------------------------------//按天統(tǒng)計(jì) select count(dataid) as 每天操作數(shù)量, sum() from where group by trunc(createtime, 'DD')) //按自然周統(tǒng)計(jì) select to_char(date,'iw'),sum() from where group by to_char(date,'iw') //按自然月統(tǒng)計(jì) select to_char(date,'mm'),sum() from where group by to_char(date,'mm') //按季統(tǒng)計(jì) select to_char(date,'q'),sum() from where group by to_char(date,'q') //按年統(tǒng)計(jì) select to_char(date,'yyyy'),sum() from where group by to_char(date,'yyyy')
總結(jié)
以上所述是小編給大家介紹的oracle實(shí)現(xiàn)按天,周,月,季度,年查詢(xún)排序方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
新聞熱點(diǎn)
疑難解答
圖片精選