Oracle按不同时间分组统计的sql

如下表table1:
日期(exportDate)               数量(amount)
--------------                    -----------
14-2月 -08                       20
10-3月 -08                       2
14-4月 -08                       6
14-6月 -08                       75
24-10月-09                      23
14-11月-09                      45
04-8月 -10                       5
04-9月 -10                       44
04-10月-10                      88
注意:为了显示更直观,如下查询已皆按相应分组排序
1.按年份分组
select to_char(exportDate, 'yyyy' ), sum (amount) from table1 group by to_char(exportDate, 'yyyy' );
年份      数量
-----------------------------
2009    68
2010    137
2008    103
2.按月份分组
select to_char(exportDate, 'yyyy-mm' ), sum (amount) from table1 group by to_char(exportDate, 'yyyy-mm' )
order by to_char(exportDate, 'yyyy-mm' );
月份           数量
-----------------------------
2008-02    20
2008-03    2
2008-04    6
2008-06    75
2009-10    23
2009-11    45
2010-08    5
2010-09    44
2010-10    88
3.按季度分组
select to_char(exportDate, 'yyyy-Q' ), sum (amount) from table1 group by to_char(exportDate, 'yyyy-Q' )
order by to_char(exportDate, 'yyyy-Q' );
季度          数量
------------------------------
2008-1    22
2008-2    81
2009-4    68
2010-3    49
2010-4    88
4.按周分组
select to_char(exportDate, 'yyyy-IW' ), sum (amount) from table1 group by to_char(exportDate, 'yyyy-IW' )
order by to_char(exportDate, 'yyyy-IW' );
周             数量
------------------------------
2008-07    20
2008-11    2
2008-16    6
2008-24    75
2009-43    23
2009-46    45
2010-31    5
2010-35    44
2010-40    88

你可能感兴趣的:(DB数据库及使用工具)