ホームページ >データベース >mysql チュートリアル >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 サイトの他の関連記事を参照してください。