Oracle數據庫按月統計(候,旬,月,季,年)


Oracle數據庫按月統計

1 SELECT TO_CHAR(ds.date_time,'YYYY-MM'),count(*)
2 FROM tab_name   ds
3 GROUP BY TO_CHAR(ds.date_time,'YYYY-MM')  
4 ORDER BY TO_CHAR(ds.date_time,'YYYY-MM') 

Oracle數據庫按年統計

1 SELECT TO_CHAR(ds.date_time,'YYYY'),count(*)
2 FROM tab_name   ds
3 GROUP BY TO_CHAR(ds.date_time,'YYYY')  
4 ORDER BY TO_CHAR(ds.date_time,'YYYY') ASC NULLS  LAST  

Oracle數據庫按旬統計

 1 --查詢上旬
 2 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'上旬',count(*)
 3 FROM tab_name   ds
 4 where  TO_CHAR(ds.date_time,'DD')>='01' and TO_CHAR(ds.date_time,'DD')< '11'
 5 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
 6 --查詢統計中旬
 7 union
 8 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'中旬',count(*)
 9 FROM tab_name   ds
10 where  TO_CHAR(ds.date_time,'DD')>='11' and TO_CHAR(ds.date_time,'DD')< '21'
11 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
12 --查詢條件下旬
13 union
14 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'下旬',count(*)
15 FROM tab_name   ds
16 where  TO_CHAR(ds.date_time,'DD')>='21'
17 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 

Oracle數據庫按候統計(氣象中,五天為1候,1年72候.1個月為6候.如果1個月為31天,則最后1候為6天.)

 1 --查詢1候
 2 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'1',count(*)
 3 FROM tab_name   ds
 4 where  TO_CHAR(ds.date_time,'DD')>='01' and TO_CHAR(ds.date_time,'DD')< '06'
 5 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
 6 --查詢統計1候
 7 union
 8 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'2',count(*)
 9 FROM tab_name   ds
10 where  TO_CHAR(ds.date_time,'DD')>='06' and TO_CHAR(ds.date_time,'DD')< '11'
11 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
12 --查詢統計3候
13 union
14 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'3',count(*)
15 FROM tab_name   ds
16 where  TO_CHAR(ds.date_time,'DD')>='11' and TO_CHAR(ds.date_time,'DD')< '16'
17 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
18 --查詢統計4候
19 union
20 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'4',count(*)
21 FROM tab_name   ds
22 where  TO_CHAR(ds.date_time,'DD')>='16' and TO_CHAR(ds.date_time,'DD')< '21'
23 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
24 --查詢統計5候
25 union
26 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'5',count(*)
27 FROM tab_name   ds
28 where  TO_CHAR(ds.date_time,'DD')>='21' and TO_CHAR(ds.date_time,'DD')< '26'
29 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 
30 --查詢條件6候
31 union
32 SELECT TO_CHAR(ds.date_time,'YYYYMM'),'6',count(*)
33 FROM tab_name   ds
34 where  TO_CHAR(ds.date_time,'DD')>='26'
35 GROUP BY TO_CHAR(ds.date_time,'YYYYMM') 

Oracle數據庫按季統計

 1 --查詢春季
 2 SELECT TO_CHAR(ds.date_time,'YYYY'),'春季',count(*)
 3 FROM tab_name   ds
 4 where  TO_CHAR(ds.date_time,'MM')>='03' and TO_CHAR(ds.date_time,'MM')< '06'
 5 GROUP BY TO_CHAR(ds.date_time,'YYYY') 
 6 --查詢統計夏季
 7 union
 8 SELECT TO_CHAR(ds.date_time,'YYYY'),'夏季',count(*)
 9 FROM tab_name   ds
10 where  TO_CHAR(ds.date_time,'MM')>='06' and TO_CHAR(ds.date_time,'MM')< '09'
11 GROUP BY TO_CHAR(ds.date_time,'YYYY') 
12 --查詢統計秋季
13 union
14 SELECT TO_CHAR(ds.date_time,'YYYY'),'秋季',count(*)
15 FROM tab_name   ds
16 where  TO_CHAR(ds.date_time,'MM')>='09' and TO_CHAR(ds.date_time,'MM')< '12'
17 GROUP BY TO_CHAR(ds.date_time,'YYYY') 
18 --查詢統計冬季
19 union
20 SELECT TO_CHAR(ds.date_time,'YYYY'),'冬季',count(*)
21 FROM tab_name   ds
22 where  TO_CHAR(ds.date_time,'MM')>='12' or TO_CHAR(ds.date_time,'MM')< '03'
23 GROUP BY TO_CHAR(ds.date_time,'YYYY') 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM