![](/img/trans.png)
[英]MYSQL select table rows where column contains same data in more than one record in my code
[英]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.