我正在使用SQL Server 2008和navicat。我需要使用SQL在表中获取Row Count。问题是我正在使用Group By语句,结果是:
我需要rcount值的Sum,就像没有Group By语句的RowCount一样。
提前谢谢。
答案 0 :(得分:3)
假设您希望将此作为附加列,可以使用窗口函数执行此操作:
select count(*) as rcount, goalarea,
sum(count(*)) over () as TotalCount
from table t
group by goalarea;
如果您想将它作为一个单独的行,我会使用with rollup
:
select count(*) as rcount, goalarea
from table t
group by goalarea with rollup;
(您也可以使用grouping sets
,但我发现with rollup
更容易解决这个简单的问题。)