Oracle按不同时间分组统计

本文详细介绍了如何使用Oracle SQL按年份、月份、季度和周进行数据分组统计,通过示例展示了查询语句及结果,提供直观的数据分析方法。

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

出处:http://www.2cto.com/database/201309/243555.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值