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

¿Cómo escribir la consulta sql para seleccionar y agrupar por tipo y contar por tipo?

Simplemente use la agregación condicional:

select name, sum(type = 0) as count_0, sum(type = 1) as count_1
from t
group by name;

Esto utiliza una característica de MySQL que trata los valores booleanos como números en un contexto numérico, con 0 para falso y 1 para verdadero. Por lo tanto, la suma de los valores cuenta el número de veces que la expresión es verdadera.