在SQL Server中使用GroupBy()而不是分组记录计数时,如何获取表中所有行的计数
在select语句中使用Group by和Count()时,它将记录分组并返回每个组计数 我想通过GROUPBY获得表中所有记录的总计。我怎么知道呢 我需要类似于下面的结果在SQL Server中使用GroupBy()而不是分组记录计数时,如何获取表中所有行的计数,sql,sql-server,tsql,group-by,Sql,Sql Server,Tsql,Group By,在select语句中使用Group by和Count()时,它将记录分组并返回每个组计数 我想通过GROUPBY获得表中所有记录的总计。我怎么知道呢 我需要类似于下面的结果 GroupCount Dept GrandTotalOfAllRows 2 CEC 6 1 ECE 6 3 CSE 6 您通常会使用窗口函数:逻辑是对整个数据集的聚合计数执行窗口sum() 这看起来像: select c
GroupCount Dept GrandTotalOfAllRows
2 CEC 6
1 ECE 6
3 CSE 6
您通常会使用窗口函数:逻辑是对整个数据集的聚合计数执行窗口
sum()
这看起来像:
select
count(*) GroupCount,
dept,
sum(count(*)) over () GrandTotalOfAllRows
from mytable
group by dept
您可以在查询中按添加分区
....
,SUM(GroupCount) OVER () AS GrandTotalOfAllRows
from Table
GROUP by dept
...
您可以使用子查询
SELECT
dept
,COUNT(*) AS GroupCount
,(SELECT COUNT(*) FROM table) AS TotalCount
FROM table
GROUP BY
dept