mic*_*elg 1 sql t-sql sql-server
我需要从周一开始按周汇总收入字段。我的数据如下:
Date Rev
+----------+--------
4/10/2017 5
4/11/2017 6
4/12/2017 7
4/13/2017 8
4/17/2017 9
4/19/2017 12
Run Code Online (Sandbox Code Playgroud)
我希望数据显示一周的第一天和该周的摘要,例如:
Date Rev
+----------+--------
4/10/2017 26
4/17/2017 21
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
select DATEADD(week, DATEDIFF(week,0, [date]) , 0) as [date], sum(rev)
from [data]
group by DATEADD(week, DATEDIFF(week,0, [date]) , 0)
order by [date]
Run Code Online (Sandbox Code Playgroud)
这映射到您的示例数据。它之所以有效,是因为第 0 天(1900 年 1 月 1 日)恰好是星期一。如果您需要使用星期日或星期二作为一周的开始,您将相应地调整输入日期和偏移量。