我已經編寫了一個查詢,該查詢使用多條件CASE語句根據聚合函數執行表數據分析,例如:具有多個條件的情況下即使在某些條件不符合時也會生成輸出
select country,
(case when country in ('DE','FR','IT') then 'Europe'
when country in ('CH','JP','SK') then 'Asia'
when country in ('US','CN') then 'North America'
else 'Other' end) as 'Continent',
count(*) as NR
from citizenship
group by country,
(case when country in ('DE','FR','IT') then 'Europe'
when country in ('CH','JP','SK') then 'Asia'
when country in ('US','CN') then 'North America'
else 'Other' end)
事情是非常直接的到現在爲止,但我需要的是,當有表中的0行滿足的情況下條件之一,把它顯示在輸出,就像一個空或其他一些預定義值,如:
| COUNTRY | Continent | NR |
| IT | Europe | 5 |
| | Asia | 0 |
等等on ...
是否有可能實現,考慮到真正的查詢類似於500行,由於when子句中應用了許多條件,並且該表有近60M行?同樣在這個環境中,我無法創建額外的數據庫對象。
@Stephen這是工作,但它並沒有顯示的情況下,所有規定條件時,不能滿足他們。所以亞洲沒有出現,這就是我正在努力實現的 – gm08
@Stephen是的,正確的,我希望它們全部出現,即使CASE有一個或多個匹配項時也有0個匹配 – gm08