sql >> Database teknologi >  >> RDS >> Mysql

Hvordan får man flere optællinger med én SQL-forespørgsel?

Du kan bruge en CASE sætning med en aggregeret funktion. Dette er grundlæggende det samme som en PIVOT funktion i nogle 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


  1. Sådan installeres og sikres MariaDB på Debian 9

  2. MONTHS_BETWEEN() Funktion i Oracle

  3. Krypter adgangskode i R - for at oprette forbindelse til en Oracle DB ved hjælp af RODBC

  4. Sådan fungerer UPPER() i MariaDB