sql >> Databáze >  >> RDS >> Mysql

Jak získat více počtů jedním SQL dotazem?

Můžete použít CASE příkaz s agregační funkcí. To je v podstatě totéž jako PIVOT funkce v některých 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. Architektura Oracle E-Business Suite ve verzi 12.2

  2. Odečtěte týdny od data v PostgreSQL

  3. Jak zakázat přísný režim MySQL

  4. Opravte problém se zamítnutím přístupu k obnovení SQL databáze