ホームページ >データベース >mysql チュートリアル >MySQL で条件付き集計を使用して、特定の基準に基づいて値をカウントおよび合計するにはどうすればよいですか?

MySQL で条件付き集計を使用して、特定の基準に基づいて値をカウントおよび合計するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-16 08:41:03498ブラウズ

How can I use conditional aggregation in MySQL to count and sum values based on specific criteria?

MySQL: 'SUM IF' および 'COUNT IF' による条件付き集計

SUM や COUNT などの集計関数は、データを要約するために不可欠です。 MySQL。ただし、集計に条件を適用する必要がある場合はどうすればよいでしょうか?ここで、条件付き集計が登場します。

「hour」と「kind」の 2 つの列を持つテーブルがあるシナリオを考えてみましょう。対応する 'kind' 値が 1 かどうかに基づいて 'hour' 値を数えて合計したいとします。従来の集計関数だけではこれを処理できません。

この問題を解決するために、MySQL は CASE ステートメントを提供しています。集計のカスタム条件を定義します。 CASE ステートメントを使用して修正されたクエリを次に示します。

SELECT count(id), 
    SUM(hour) as totHour, 
    SUM(case when kind = 1 then 1 else 0 end) as countKindOne

このクエリでは、CASE ステートメントは 'kind' 値が 1 に等しいかどうかをチェックします。true の場合は 1 を返し、true の場合は 1 を返します。それ以外の場合は、0 を返します。その後、結果は SUM() 関数を使用して合計され、1 に等しい 'kind' の出現数がカウントされます。

CASE ステートメントで条件付き集計を使用すると、効果的にフィルターと集計を行うことができます。特定の基準に基づいてデータを分析します。この強力な手法により、MySQL でのデータ分析と操作の幅広い可能性が開かれます。

以上がMySQL で条件付き集計を使用して、特定の基準に基づいて値をカウントおよび合計するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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