1. ホーム
  2. sql-server

[解決済み] group byで返されたレコードの数を数える

2022-04-23 06:44:58

質問

group byクエリで返されたレコードの数を数えるにはどうしたらよいですか。

例えば

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

与える。

1
1
2

上記のレコードを数えて1+1+1=3となるようにしたい。

どのように解決するのですか?

1つのクエリで、別のCOUNTのOVER句を使って、両方を行うことができます。

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