Oracle
 sql >> база данни >  >> RDS >> Oracle

Различни стойности се отчитат в една и съща колона

Можете да използвате оператор CASE или DECODE във функцията COUNT.

  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;

Изход:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Когато изпълнява скрипт на SQLPlus, той отпечатва поредица от числа вместо изход

  2. Oracle:OALL8 е в непоследователно състояние

  3. Генерирайте диапазон от дати с помощта на SQL

  4. Вмъкване на изображение от Oracle в SQL Server

  5. Как да използвате клауза за групово събиране с оператор SELECT INTO в базата данни на Oracle