sql怎么把一年中的每周数都显示出来

2025-04-26 21:46:42
推荐回答(2个)
回答1:

LZ给的红包实在少点。回头给补上呀!
----------------------------
这个题的难度不再怎么显示周,而是中国的文化问题,中国把周一当第一天,而中国用的大多数数据库都是国外的,国外基本都是把周日当第一天,所以按周统计或排序的基本都有误差,很多函数也用不了。
使用的是SqlServer数据库,别的数据库也会有以上问题,LZ自己多思考,方法如下:
(datepart(week, [CreateDate] + @@DateFirst - 1)-1) 才是真正的在中国能用的一年中的第几周。记住这是一年中的,不能跨年份,跨年份要用where 过滤年份。
第一:排序输出
SELECT [CreateDate], (datepart(week, [CreateDate] + @@DateFirst - 1)-1)
FROM [ST_Inventory]
order by (datepart(week, [CreateDate] + @@DateFirst - 1)-1)
第二:分组输出
SELECT MAX([CreateDate]), (datepart(week, [CreateDate] + @@DateFirst - 1)-1)
FROM [ST_Inventory]
group by (datepart(week, [CreateDate] + @@DateFirst - 1)-1)

回答2:

用分组排序的方式!