请问下,想用一个SQL实现按周分组功能.
给定一段时间,我想以开始时间(开始日期不管周几都可以)按周分组,例如给定09年2月3号到2月23号,那么就按3号到9号,10号到16号...这么分组统计
不知是否可以实现下面这样,统计值为零的也占一行 周数 日期 统计值
1 02/03-02/09 0
2 02/10-02/16 100
3 ...
多谢
给定一段时间,我想以开始时间(开始日期不管周几都可以)按周分组,例如给定09年2月3号到2月23号,那么就按3号到9号,10号到16号...这么分组统计
不知是否可以实现下面这样,统计值为零的也占一行 周数 日期 统计值
1 02/03-02/09 0
2 02/10-02/16 100
3 ...
多谢
,to_char(To_Date('2009-02-03', 'YYYY-MM-DD') + 7 * (Weeks - 1),'MM/DD')||'-'||to_char(To_Date('2009-02-03', 'YYYY-MM-DD') + 7 * Weeks-1 ,'MM/DD') 日期
,Sumresults 统计值
From (Select Trunc((Hiredate - To_Date('2009-02-03', 'YYYY-MM-DD')) / 7) + 1 Weeks
,Sum(Empno) Sumresults
From Scott.Emp
Group By Trunc((Hiredate - To_Date('2009-02-03', 'YYYY-MM-DD')) / 7) + 1);
以上sql在Scott用户下调试过。
Hiredate换成你需要计算的日期字段,empno换成你需要计算的字段,from 子句换成你的表和查询条件。
很急的问题 按周统计和按月统计的问题
http://topic.csdn.net/t/20060223/15/4573067.html
COUNT(*) 统计值
FROM tb
GROUP BY to_char(日期,'yyyymm'),to_char(日期,'w');