sql >> Base de Datos >  >> RDS >> Mysql

MySQL GROUP BY rango de edad incluyendo rangos nulos

Una alternativa a la tabla de rangos (que tiene mi preferencia), una respuesta de una sola fila podría ser:

SELECT
    SUM(IF(age < 20,1,0)) as 'Under 20',
    SUM(IF(age BETWEEN 20 and 29,1,0)) as '20 - 29',
    SUM(IF(age BETWEEN 30 and 39,1,0)) as '30 - 39',
    SUM(IF(age BETWEEN 40 and 49,1,0)) as '40 - 49',
...etc.
FROM inquiries;