Sum列,其中date列等于year - SQL

时间:2016-04-05 11:40:39

标签: sql-server group-by sum

不确定如何标题这个问题。基本上我想添加一个名为AvailableHoursForYear的列,该列将BookhMonth年的AvailableHours加起来。

BookedMonth           AvailableHours
2014-10-01 00:00:00   120
2015-01-01 00:00:00   90
2015-02-01 00:00:00   150

假设这是我唯一的数据,我希望表格能够阅读

 BookedMonth              AvailableHours     AvailableHoursForYear
2014-10-01 00:00:00       120                120
2015-01-01 00:00:00       90                 240
2015-02-01 00:00:00       150                240

任何帮助都将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:3)

您可以使用SUM OVER

SELECT BookedMonth, AvailableHours,
       SUM(AvailableHours) OVER (PARTITION BY YEAR(BookedMonth)) AS AvailableHoursForYear
FROM mytable

SUMOVER子句一起使用时,将应用于由OVER的参数定义的记录窗口:在这种情况下SUM返回每年AvailableHours BookedMonth的总和。