select orderdate-weeknum+1 as week_start,
orderdate-weeknum+7 as week_end,
count(*) as ordernum
from
(
select datepart(weekday,orderdate+@@datefirst-1) as weeknum,orderdate
from dbo.orders
) as d
group by orderdate-weeknum+1 ,orderdate-weeknum+7
| week_start | week_end | numorders |
|---|---|---|
| 1996-07-01 00:00:00.000 | 1996-07-07 00:00:00.000 | 2 |
| 1996-07-08 00:00:00.000 | 1996-07-14 00:00:00.000 | 6 |
| 1996-07-15 00:00:00.000 | 1996-07-21 00:00:00.000 | 6 |
| 1996-07-22 00:00:00.000 | 1996-07-28 00:00:00.000 | 5 |
| 1996-07-29 00:00:00.000 | 1996-08-04 00:00:00.000 | 6 |
| 1996-08-05 00:00:00.000 | 1996-08-11 00:00:00.000 | 5 |
| 1996-08-12 00:00:00.000 | 1996-08-18 00:00:00.000 | 6 |
| 1996-08-19 00:00:00.000 | 1996-08-25 00:00:00.000 | 5 |
| 1996-08-26 00:00:00.000 | 1996-09-01 00:00:00.000 | 6 |
| 1996-09-02 00:00:00.000 | 1996-09-08 00:00:00.000 | 5 |
订单周统计查询
本文介绍了一个SQL查询案例,用于按周统计订单数量。通过日期运算确定每周起始和结束时间,并计算各周期内的订单总数。
623

被折叠的 条评论
为什么被折叠?



