MySQL: 'SUM IF' と 'COUNT IF' を使用した条件付き集計の代替メソッド
次のシナリオを考えてみましょう: テーブルがあります。 「hour」と「kind」という名前の列があり、条件に基づいて計算を実行したいと考えています。たとえば、「kind」列が 1 に等しい行の数を数えたり、「kind」列が 2 である行のみの「hour」列を合計したりすることができます。
MySQL では、 「SUM IF」または「COUNT IF」を使用する構文は直接サポートされていません。代わりに、CASE ステートメントを使用して条件付き集計を実現できます。
SELECT count(id), SUM(hour) as totHour, SUM(case when kind = 1 then 1 else 0 end) as countKindOne FROM table_name;
このクエリは行の合計数をカウントし、すべての行の「hour」列を合計し、「」が含まれる行の数をカウントします。 kind' 列は 1 に等しいです。
MySQL の条件付き集計の詳細については、次のリソースを参照してください:
以上が「SUM IF」と「COUNT IF」を使用せずに MySQL で条件付き集計を実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。