oracle實(shí)現(xiàn)按天,周,月,季度,年查詢排序方法
oracle按天,周,月,季度,年查詢排序
天--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')
按天查詢
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') --排序
按周查詢
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') --排序
按月度查詢
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') --排序
按季度查詢
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')--排序
按年度查詢
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)按天,周,月,季度,年查詢統(tǒng)計(jì)數(shù)據(jù)
這里提供了一種方法,挺不錯(cuò)oracle 實(shí)現(xiàn)按周,月,季度,年查詢統(tǒng)計(jì)數(shù)據(jù) 。
還在網(wǎng)上看到用trunc來搞也可以,下面是個(gè)例子,兩句SQL效果一樣的.
id有重復(fù)的,所以group by搞了兩個(gè)字段.
只在Oracle數(shù)據(jù)庫(kù)里試過,其它庫(kù)沒試過。
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)按天,周,月,季度,年查詢排序方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
Oracle使用rownum分頁(yè)方式實(shí)例代碼
ROWNUM是一個(gè)序列,是oracle數(shù)據(jù)庫(kù)從數(shù)據(jù)文件或緩沖區(qū)中讀取數(shù)據(jù)的順序,這篇文章主要給大家介紹了關(guān)于Oracle使用rownum分頁(yè)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉順序?qū)嵗v解
這篇文章主要介紹了Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉順序?qū)嵗v解的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
Oracle中的instr()函數(shù)應(yīng)用及使用詳解
這篇文章主要介紹了Oracle中的instr()函數(shù)應(yīng)用及使用詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Oracle9i的全文檢索技術(shù)開發(fā)者網(wǎng)絡(luò)Oracle
Oracle9i的全文檢索技術(shù)開發(fā)者網(wǎng)絡(luò)Oracle...2007-03-03
在Tomcat服務(wù)器下使用連接池連接Oracle數(shù)據(jù)庫(kù)
本文為大家介紹下在Tomcat服務(wù)器下使用連接池來連接數(shù)據(jù)庫(kù)的操作,下面有個(gè)不錯(cuò)的示例,大家可以參考下2014-01-01
plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤解決方法
今天遇到一個(gè)問題,plsql連接oracle數(shù)據(jù)庫(kù)報(bào)ora 12154錯(cuò)誤,本文將為您詳細(xì)介紹此等問題的解決方法2012-11-11
[Oracle] Data Guard 之 淺析Switchover與Failover
以下是對(duì)Oracle中Switchover與Failover的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07

