ホームページ >データベース >mysql チュートリアル >単一の SQL クエリから複数のカウントを取得するにはどうすればよいですか?

単一の SQL クエリから複数のカウントを取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-20 16:13:11783ブラウズ

How Can I Get Multiple Counts from a Single SQL Query?

SQL クエリの最適化: 一度に複数のカウントを取得する

この記事では、単一の SQL クエリを使用して複数のカウントを取得する効率的な方法を示します。 CASE ステートメントの機能を集計関数と組み合わせて活用します。

この戦略には、CASE を使用して level 列に基づいて行を分類し、各カテゴリにカウントを割り当てることが含まれます。 これらのカウントは、SUM を使用して集計され、最終結果が得られます。

これを実現するクエリは、distributor_id ごとに 1 行のデータを返します:

<code class="language-sql">SELECT distributor_id,
       COUNT(*) AS total,
       SUM(CASE WHEN level = 'exec' THEN 1 ELSE 0 END) AS ExecCount,
       SUM(CASE WHEN level = 'personal' THEN 1 ELSE 0 END) AS PersonalCount
FROM yourtable
GROUP BY distributor_id;</code>

このアプローチでは、単一のクエリ結果内の特定の level 値の全体的なカウントと個別のカウントの両方が効率的に提供されます。

以上が単一の SQL クエリから複数のカウントを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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