基于下表
id name cardId
--------
1 John 123
2 Mark 123
3 Tom 231
4 Debra 321
5 Debra 321
6 Debra 321
7 Tom 321如何选择cardId相同但名称不同的记录?输出应如下所示
name cardId
--------
John 123
Mark 123
Debra 321
Tom 321编辑:为了清楚起见。一个用户可以有多个cardId,但是一个cardId不能在不同的用户之间共享。我怎么才能找到这个?
发布于 2021-03-11 20:14:19
使用exists
select distinct t.*
from t
where exists (select 1
from t t2
where t2.cardid = t.cardid and t2.name <> t.name
);使用(cardid, name)上的索引,这可能是处理查询的最快方法。
https://stackoverflow.com/questions/66579737
复制相似问题