Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erhalte ich mehrere Zählungen mit einer SQL-Abfrage?

Sie können einen CASE verwenden Anweisung mit einer Aggregatfunktion. Dies ist im Grunde dasselbe wie ein PIVOT Funktion in einigen RDBMS:

SELECT distributor_id,
    count(*) AS total,
    sum(case when level = 'exec' then 1 else 0 end) AS ExecCount,
    sum(case when level = 'personal' then 1 else 0 end) AS PersonalCount
FROM yourtable
GROUP BY distributor_id