按ISO周和年分组

时间:2016-01-18 13:55:28

标签: sql-server

我有以下内容:

Date            Value
2015-12-28      5       //WK 53 2015
2016-01-01      10      //WK 53 2015
2016-01-04      4       //WK 1 2016

我尝试按iso周分组数据,并使用以下查询获取每周的avrage值:

SELECT CONCAT(DATEPART(ISO_WEEK, Date),';', YEAR(Date)) AS 'Date', ROUND(AVG(Value), 2) AS 'Value' 
FROM table 
GROUP BY DATEPART(ISO_WEEK, Date), YEAR(Date)

问题在于,对于这个群组,2016-01-01被视为2016年第53周而不是2015年,这给了我错误的数据。

是否有一个简单的方法可以在正确的一周内正确分组?

另外一个侧面问题:是否可以显示一周的第一天而不是我拥有的CONCAT?

0 个答案:

没有答案