ホームページ >データベース >mysql チュートリアル >SQLでデータをグループ化した後にレコードをカウントするにはどうすればよいですか?

SQLでデータをグループ化した後にレコードをカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-18 23:52:09911ブラウズ

How to Count Records After Grouping Data with SQL?

SQL グループ化後のレコード数の統計

GROUP BY ステートメントを SELECT 句とともに使用する場合、集計関数を使用して各グループ内のレコード数をカウントできます。これは、町ごとのユーザーの総数などの概要統計を取得するのに役立ちます。

カウントには GROUP BY を使用します

グループ化後にレコードをカウントするには、GROUP BY 句で COUNT(*) 集計関数を使用します。

<code class="language-sql">SELECT `town`, COUNT(*)
FROM `user`
GROUP BY `town`;</code>

このクエリは、町のリストと各町のユーザーの総数を返します。

その他の集計関数

COUNT に加えて、GROUP BY で他の集計関数も使用できます。例:

  • MAX: 各グループのフィールドの最大値を返します。
  • MIN: 各グループのフィールドの最小値を返します。
  • COUNT DISTINCT: 各グループ内のフィールドの一意の値の数を返します。

user という名前の列を含む town という名前のテーブルについて考えます。次のクエリは、各町のユーザーの総数をカウントします:

<code class="language-sql">SELECT `town`, COUNT(*) AS `total_users`
FROM `user`
GROUP BY `town`;</code>

このクエリは次の結果を生成します:

城镇 用户总数
哥本哈根 58
纽约 58
雅典 58

変数を使用して合計数を保存します

また、ユーザーの総数を保存する変数を宣言し、その変数の値を選択することもできます。

<code class="language-sql">DECLARE @numOfUsers INT;
SET @numOfUsers = (SELECT COUNT(*) FROM `user`);

SELECT DISTINCT `town`, @numOfUsers AS `total_users`
FROM `user`;</code>

このアプローチにより、後続の計算または演算で合計を使用するときに柔軟性が得られます。

以上がSQLでデータをグループ化した後にレコードをカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。