ホームページ >データベース >mysql チュートリアル >単一の SQL クエリから複数のカウントを取得するにはどうすればよいですか?
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 サイトの他の関連記事を参照してください。