簡體   English   中英

將數據轉換和分組在一起

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM