统计分组返回的记录数

2021-12-26 00:00:00 group-by count tsql sql-server

如何统计一个group by query返回的记录数,

How do I count the number of records returned by a group by query,

例如:

select count(*) 
from temptable
group by column_1, column_2, column_3, column_4

给我,

1
1
2

我需要数一下上面的记录,得到 1+1+1 = 3.

I need to count the above records to get 1+1+1 = 3.

推荐答案

您可以在另一个 COUNT 上使用 OVER 子句在一个查询中执行这两项操作

You can do both in one query using the OVER clause on another COUNT

select
    count(*) RecordsPerGroup,
    COUNT(*) OVER () AS TotalRecords
from temptable
group by column_1, column_2, column_3, column_4

相关文章