如何从GROUP BY中进行选择?

时间:2014-10-01 08:23:43

标签: sql sql-server tsql

我有以下正确打印的内容:

MonthNumber 
Users
UserHits

我还需要从Coefficient

打印dbo.ReportAudienceOverviews

如何更改SQL?

 SELECT DATEPART(mm, S.DateProcessStatus) as MonthNumber,
     --S.DeviceId, 
     SUM(A.Users) as Users,
     SUM(A.UsersHits) as UserHits
    FROM dbo.ReportAudienceOverviews A 
     LEFT JOIN dbo.ReportProcessStatuses S
     ON S.StatusId = A.StatusId
     AND S.DateProcessStatus >= '2014' AND S.DateProcessStatus < '2015'
    --WHERE S.DeviceId = 1 AND A.Coefficient = 20
    GROUP BY
     DATEPART(mm, S.DateProcessStatus), S.DeviceId
     ORDER BY MonthNumber ASC, S.DeviceId ASC

1 个答案:

答案 0 :(得分:2)

您只需要在MIN(Coefficient)中添加列(如评论中所述):

SELECT DATEPART(mm, S.DateProcessStatus) as MonthNumber,
 --S.DeviceId, 
 SUM(A.Users) as Users,
 SUM(A.UsersHits) as UserHits,
 MIN(A.Coefficient) as Coefficient
FROM dbo.ReportAudienceOverviews A 
 LEFT JOIN dbo.ReportProcessStatuses S
 ON S.StatusId = A.StatusId
 AND S.DateProcessStatus >= '2014' AND S.DateProcessStatus < '2015'
--WHERE S.DeviceId = 1 AND A.Coefficient = 20
GROUP BY
 DATEPART(mm, S.DateProcessStatus), S.DeviceId
 ORDER BY MonthNumber ASC, S.DeviceId ASC
相关问题