SQL Query获取多年来每周的总值

时间:2015-01-27 21:47:22

标签: sql sql-server

我需要在SQL Server中编写一个SQL查询,希望我能解释一下我的意思。我有几年的数据。这是一些数据库的示例。

enter image description here

我想要做的是每周获取值为New_Zealand的牛的总数。

因此,对于2013-01-12周,总价值将是36080(新西兰的总和,其中动物是该周的牛)。在数据库中的所有周内重复此操作。

我目前有这个SQL select语句。

SELECT SUM(New_Zealand) 
FROM Slaughter_Data 
WHERE Animal = 'Bovine' 
  AND WeekEndingDate BETWEEN '2010-01-04' AND '2015-01-03' 
  AND New_Zealand IS NOT NULL 
GROUP BY DATEPART(wk, WeekEndingDate)

这是错误的,因为它给了我52周,所有New_Zealand值总和Animal = Bovine,并且在所有年份的那一周总和。我想要每年都这样。谁能告诉我需要改变什么?

我希望我已经说清楚,如果我没有这样做,请告诉我,我可以澄清一下。

1 个答案:

答案 0 :(得分:2)

如何按WeekEndingDate进行分组,因为它会获得该年中该周的数字。

SELECT SUM(New_Zealand)
FROM Slaughter_Data
WHERE Animal = 'Bovine'
    AND WeekEndingDate BETWEEN '2010-01-04' AND '2015-01-03'
    AND New_Zealand IS NOT NULL
GROUP BY WeekEndingDate