[英]transform and group data together
從查詢中檢索所需的信息,結果如下:
code | category
-----------
1 | A
1 | A
2 | B
3 | B
3 | B
4 | B
從此數據中,我想得到以下結果:
Combination 1&2 | Combination 3&4
---------------------------------
'Both A & B' | 'Just B"
因此,如果第一列包含代碼為1或2的所有行,那么它將發生,然后查看是否在所有這些行中:
-是否所有行都等於類別A,然后得出值“僅A”
-是否所有行都等於類別B,然后得出值“僅B”
-是否存在代碼1和2的類別A和類別B的混合,然后得出值“ A和B兩者”。
除了現在我只尋找代碼3&4之外,這將再次在第二列內部發生。 實際上,我實際上會將許多代碼組合到其中一些列中,因此某些列將組合2個代碼,另一些列可組合10個代碼,依此類推。 本質上,我正在嘗試查看代碼組合的類別。 他們都是A,都是B,還是混在一起?
您可以使用條件聚合:
select (case when min(category) <> max(category) then 'Both A and B'
when min(category) = 'A' then 'A only'
when min(category) = 'B' then 'B only'
end)
from t
where code in (1, 2) and category in ('A', 'B');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.