SELECT
BCD.[EventID],
M.TargetCategory,
BCD.[RoundName],
COUNT(CASE
WHEN R.Status_Id <> 4
THEN 1
ELSE NULL
END) AS [Outstanding Events]
FROM
[dbo].[Event_Details] BCD
LEFT JOIN
[dbo].[lkpTarget] M ON BCD.TargetID = M.TargetID
LEFT JOIN
[dbo].[EventComments] R ON BCD.EventID = R.[EventID]
GROUP BY
BCD.[EventID], M.TargetCategory, BCD.[RoundName]
HAVING
COUNT(CASE
WHEN R.Status_Id <> 4
THEN 1
ELSE NULL
END) > 0
ORDER BY
TargetCategory ASC;
上面的查询显示了每个 RoundName
的 [Outstanding Events]
。
有谁知道修改上述查询的最佳方法,以便我可以显示按 TargetCategory
分组的 [Outstanding Events]
小计,然后显示 [整个查询结果的未完成事件]
总计?
最佳答案
使用grouping sets
:
GROUP BY GROUPING SETS ( (BCD.[EventID], M.TargetCategory, BCD.[RoundName]),
(BCD.[RoundName]),
()
)
关于sql - 在 SQL Server 查询结果中显示小计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48281188/