请教一个按周分组的问题

xiaofeng3385 2009-02-16 01:36:14
请问下,想用一个SQL实现按周分组功能.
给定一段时间,我想以开始时间(开始日期不管周几都可以)按周分组,例如给定09年2月3号到2月23号,那么就按3号到9号,10号到16号...这么分组统计
不知是否可以实现下面这样,统计值为零的也占一行

周数 日期 统计值
1 02/03-02/09 0
2 02/10-02/16 100
3 ...


多谢
...全文
195 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Andy__Huang 2009-02-16
  • 打赏
  • 举报
回复
SELECT to_char(日期,'yyyymm') 年月,'第'||to_char(日期,'w')||'周' 周,
COUNT(*) 统计值
FROM tb
GROUP BY to_char(日期,'yyyymm'),to_char(日期,'w');
Andy__Huang 2009-02-16
  • 打赏
  • 举报
回复
参考:
很急的问题 按周统计和按月统计的问题
http://topic.csdn.net/t/20060223/15/4573067.html

又是违规昵称 2009-02-16
  • 打赏
  • 举报
回复
表结构呢...
jlj84237485 2009-02-16
  • 打赏
  • 举报
回复
帮顶一下
yzbf 2009-02-16
  • 打赏
  • 举报
回复
Select Weeks 周数
,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 子句换成你的表和查询条件。


17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧