sql >> Databasteknik >  >> RDS >> Mysql

Hur får man flera räkningar med en SQL-fråga?

Du kan använda en CASE uttalande med en aggregerad funktion. Detta är i princip samma sak som en PIVOT funktion i vissa 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. Varför får jag PLS-00302:komponent måste deklareras när den finns?

  2. SQL-server identitetskolumns värden börjar på 0 istället för 1

  3. När behöver jag använda semikolon kontra snedstreck i Oracle SQL?

  4. JSON_DEPTH() – Hitta det maximala djupet för ett JSON-dokument i MySQL