2011-02-18 24 views
21

¿Cómo usar COUNT CASE y la instrucción WHEN en la consulta MySQL, para contar cuándo los datos son NULL y cuándo no son NULL en una consulta MySQL?COUNT CASE y instrucción WHEN en MySQL

+4

'COUNT (col)' = Número de 'NOT NULL'. 'COUNT (*) - COUNT (col)' = Número de 'NULL' ¿Por qué necesita' CASE'? –

Respuesta

55

Uso:

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 

Eso se suma la columna NULL & no NULL para toda la tabla. Es probable que necesite una cláusula GROUP BY, según las necesidades.

+0

Y ahora cómo hacer eco de estos valores, cuánto es NULL y cuánto no es NULL. –

+0

@Ivan Tanasijevic: hay ejemplos en la [documentación de mysql_query] (http://php.net/manual/en/function.mysql-query.php) –

+0

Si desea lograr eso con 'COUNT', puede usar null (no contado) y otro valor arbitrario (contado). – Kiril

Cuestiones relacionadas