我有一个简单的查询:
select id, count(*) n
from mytable
group by id
是否可以在同一查询中包含sum(n)?所以结果看起来像这样:
id n
---- -----------
1 12
2 1
3 14
4 1
5 2
6 6
Sum=36
答案 0 :(得分:2)
您可以使用 common table expression 执行此操作:
--
; WITH cte as (SELECT id
,count(*) n
FROM mytable
GROUP BY id)
SELECT id, n FROM cte
UNION ALL
SELECT 'Sum', SUM(n) from cte
您还可以使用 ROLLUP :(这可能不是完全正确的语法)
SELECT id
,count(*) n
FROM mytable
GROUP BY id
WITH ROLLUP