sql >> Databáze >  >> RDS >> Oracle

Ve stejném sloupci se počítá jiná hodnota

Ve funkci COUNT můžete použít příkaz CASE nebo DECODE.

  SELECT item_category,
         COUNT (*) total,
         COUNT (DECODE (item_status, 'serviceable', 1)) AS serviceable,
         COUNT (DECODE (item_status, 'under_repair', 1)) AS under_repair,
         COUNT (DECODE (item_status, 'condemned', 1)) AS condemned
    FROM mytable
GROUP BY item_category;

Výstup:

ITEM_CATEGORY   TOTAL   SERVICEABLE UNDER_REPAIR    CONDEMNED
----------------------------------------------------------------
chair           5       1           2               2
table           5       3           1               1


  1. IN Klauzule s NULL nebo IS NULL

  2. Funkce STRING_AGG() v PostgreSQL

  3. Vložení aktuálního data a času do databáze SQLite

  4. VYBERTE * KDE NEEXISTUJE