簡體   English   中英

Select 行,其中 ID 相同但名稱在多個記錄中包含不同數據

[英]Select rows where ID is same but Name contains different data in more than one record

ID  Name  
---------
1    ABC         
1    123              
2    BCD         
3    CDE         
4    AAA         
4    ZZZ         

期望的結果

ID  Name1      Name2 
---------------------
1    ABC        123                    
2    BCD        NULL
3    CDE        NULL 
4    AAA        ZZZ    

您可以使用聚合:

select id, min(name) as name1,
       nullif(max(name), min(name)) as name2
from t
group by id;

如果您只想要所有名稱的列表,請使用單個列作為名稱並使用group_concat()

select id, group_concat(name) as names
from t
group by id;

你可以只使用聚合:

select id, min(name) name1, case when min(name) <> max(name) then max(name) name2
from mytable
group by id

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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