web-dev-qa-db-de.com

COUNT CASE- und WHEN-Anweisung in MySQL

Wie kann man COUNT CASE und WHEN in einer MySQL-Abfrage verwenden, um zu zählen, wann Daten NULL sind und wann sie in einer MySQL-Abfrage nicht NULL sind?

30

Verwenden:

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

Das wird die Spalte NULL & nicht NULL für die gesamte Tabelle zusammenfassen. Je nach Bedarf benötigen Sie wahrscheinlich eine GROUP BY-Klausel.

74
OMG Ponies