Как в запросе подсчитать количество записей по статусу?
Есть таблица orders, которая помимо прочих содержит поле status. Поле status может содержать значения R,N,S,A,F.
Нужно получить в результе запроса в колонке ALL все заказы без учета статуса, в колонке "Готовые заказы" со статусом R,F, а в колонке "Не готовые заказы" со статусами N,I,A,S.
Как это сделать?
Ответы (1 шт):
Автор решения: 0xdb
→ Ссылка
Вот так:
with t (status) as (
select trim (column_value)
from xmlTable ('"R","N","I","S","A","F"'), (select 1 from dual connect by level<=9)
)
select
count (*) "All",
count (case when status in ('R','F') then 1 end) "Completed orders",
count (case when status in ('N','I','S','A') then 1 end) "Not completed orders"
from t
/
All Completed orders Not completed orders
---------- ---------------- --------------------
54 18 36