我的表中有一些订单,2011 年的最后订单日期是 12 月 20 日。
我使用 sql 命令来计算给定一周内的订单数:
SELECT CONVERT(VARCHAR(3),DATENAME(week,convert(datetime,order_date,103))) AS week,
COUNT(1) as orders
FROM order_table
where DATENAME(YEAR,convert(datetime,order_date,103)) = '2011'
GROUP BY CONVERT(VARCHAR(3),DATENAME(week,convert(datetime,order_date,103)))
order by week asc
它返回给我以下一些结果:
Week | Orders
41 | 42
42 | 110
43 | 115
...
...
51 | 155
52 | 15
问题在于,我提到的 2011 年最后一个订单日期是 2011 年 12 月 20 日,这不可能是第 52 周,所以必须是第 51 周。
我有一些其他统计数据(来自另一个系统,而不是 SQL 服务器),这给了我一些其他数字,上周的数字是 51,我毫不怀疑这是正确的。因此,如果人们同时查看两者,就会产生疑问!
有人有任何想法或知道如何对此进行排序吗?
Thanks,