【发布时间】:2017-06-08 10:06:04
【问题描述】:
我正在使用以下查询
SELECT CONVERT(date,lot.Killdate) as KillDate
,lot.[LotNo]
,lot.[HotWeight]
,lot.[AverageYieldGrade]
,(lot.HeadShorn + lot.HeadUnshorn) as 'Total'
,(lot.HotWeight) / (lot.HeadShorn + lot.HeadUnshorn) as 'AvgWeight'
,date.Date
,date.WeekOfYear
FROM [LambLot].[dbo].[LotHeader] lot, Master_Dim.dbo.DateDim date
WHERE CONVERT(date,lot.KillDate) = date.Date
and lot.KillLocation = 1
AND lot.HeadShorn > 0
AND lot.HeadUnshorn > 0
AND date.Year = 2016
group by lot.LotNo, lot.HeadShorn, lot.HeadUnshorn, lot.HotWeight lot.AverageYieldGrade, lot.KillDate, date.Date, date.WeekOfYear
order by date.WeekOfYear asc
这是输出的副本
KillDate LotNo HotWeight AverageYieldGrade Total AvgWeight Date WeekOfYear
1 2016-01-04 102 21603.5 2.28 348 62.0790229885057 2016-01-04 2
2 2016-01-04 103 2305.3 1.42 53 43.4962264150943 2016-01-04 2
3 2016-01-04 105 1159 0 17 68.1764705882353 2016-01-04 2
4 2016-01-04 108 1493.6 0 39 38.2974358974359 2016-01-04 2
5 2016-01-04 109 2982.8 0 80 37.285 2016-01-04 2
我想做的是将每一行汇总到一年中的一周。基本上给了我 52 行输出,显示了每列中每个值的总和。有没有办法做到这一点?
【问题讨论】:
-
类似...
select datepart(yy,datecolumn) as YearNum, datepart(wk,datecolumn) as WeekNum, sum(someColumn) from someTable group by datepart(yy,datecolumn), datepart(wk,datecolumn)
标签: sql sql-server-2012 group-by sum