Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir plusieurs comptes avec une seule requête SQL ?

Vous pouvez utiliser un CASE déclaration avec une fonction d'agrégation. C'est fondamentalement la même chose qu'un PIVOT fonction dans certains 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