ホームページ >データベース >mysql チュートリアル >SQLでグループ化した後にレコードをカウントするにはどうすればよいですか?
グループ化操作後のレコードのカウントは、GROUP BY
句を含む SQL SELECT
クエリを使用する場合にも役立ちます。このようにして、グループごとに集計された統計を簡単に取得できます。
グループ化されたレコードをカウントするには、グループ化する列と一緒に SELECT
ステートメントに COUNT()
集計関数を含めます。たとえば、「users」というテーブルがあり、さまざまな町を選択して、各町のユーザーの総数をカウントしたい場合:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users` FROM `user` GROUP BY `town`;</code>
このクエリは、町ごとに 1 つの列と、その町のユーザーの総数を表す 1 つの列を含む結果セットを返します。
すべての行のユーザーの合計数を含む列も表示したい場合は、サブクエリを使用してこの値を計算し、グループ化された結果セットに結合できます。あるいは、データベース固有の変数を使用して合計数を保存し、それをメイン クエリで参照することもできます。
たとえば、MySQL では、次のクエリを使用して合計カウント列を含めることができます:
<code class="language-sql">SELECT `town`, COUNT(*) AS `num_users`, (SELECT COUNT(*) FROM `user`) AS `total_users` FROM `user` GROUP BY `town`;</code>
集計関数とサブクエリを使用すると、SQL クエリでグループ レベルと合計数を簡単に取得できます。
以上がSQLでグループ化した後にレコードをカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。