У меня есть то, что, по моему мнению, должно быть простым запросом, но, возможно, это не так. Мне нужно сделать две вещи в одном запросе (желательно):
- Подсчитайте количество записей (в нескольких столбцах), где значение равно ПУСТО (NULL)
- Подсчитайте # различных записей в определенном столбце
По сути, таблица представляет собой список данных о претензиях и организована следующим образом ...
- Номер претензии может встречаться несколько раз. Я хотел бы подсчитать отдельные номера претензий (это поле никогда не будет NULL)
- Значения NULL могут встречаться в одном или нескольких столбцах
Образец данных:
insert into t1 (ID, LOB, Funding, Claim_ID, Claim_Type, Pharmacy_ID)
values (3617623, 'DRUG', NULL, 2389753478, 'ORG', 'OA734'),
(3462090, 'DRUG', NULL, 2389753478, 'REV', 'OA734'),
(3587262, NULL, NULL, 5356201834, 'ORG', NULL),
(3160932, 'DRUG', NULL, 4627282840, 'ORG', NULL),
(3986523, 'DRUG', NULL, 4627282840, 'REV', NULL),
(3874627, 'DRUG', NULL, 7735624780, 'ORG', '43857')
Ожидаемый результат:
- Общее количество записей = 6
- Количество Claim_ID = 4
- Количество NULL LOB = 1
- Количество НУЛЕВОГО финансирования = 4
- Счетчик NULL Claim_Type = 0
- Количество NULL Pharmacy_ID = 2
Я пробовал с этим запросом, но он не совсем работает:
select
sum (case when LOB is null then 1 else 0 end) as LOB_null,
sum (case when Funding is null then 1 else 0 end) as Funding_null,
sum (case when Claim_Type is null then 1 else 0 end) as Claim_Type_null,
sum (case when Pharmacy_ID is null then 1 else 0 end) as Pharmacy_ID_null,
sum (count (distinct (case when claim_id is not null then 1 end)) as ttl_claims,
sum (case when ID is not null then 1 end) as ttl_recs
from t1