web-dev-qa-db-ja.com

MySQLのCOUNT CASEおよびWHENステートメント

MySQLクエリでCOUNT CASEおよびWHENステートメントを使用して、1つのMySQLクエリでデータがNULLである場合とNULLでない場合をカウントする方法

30

使用する:

SELECT SUM(CASE 
             WHEN t.your_column IS NULL THEN 1
             ELSE 0
           END) AS numNull,
       SUM(CASE 
             WHEN t.your_column IS NOT NULL THEN 1
             ELSE 0
           END) AS numNotNull
  FROM YOUR_TABLE t

これは、テーブル全体のNULLとNULLではない列を合計します。必要に応じて、GROUP BY句が必要になる可能性があります。

74
OMG Ponies