我正在尝试查找 ID,对于该 ID,第二列中的所有条目都是重复的,并且存在于一个或多个其他 ID 下。这意味着我不仅仅是寻找是否有 (id2) => 2。
如果这是输入。
id id2
1 44
1 44
1 44
2 44
2 44
2 44
2 44
2 46
3 42
3 44
3 44
4 55
4 55
4 55
4 55
输出应该是:
id id2
1 44
1 44
1 44
因为 id2 下的所有条目也存在于 id #2 中。 Id #3 不在输出中,因为只有部分条目与另一个 id 匹配,输出应该只给出所有 id2 条目与另一个条目匹配的条目,无论它有多少条目。
我正在使用 MySQL Workbench。
最佳答案
一种方法是计算每个 id2
的唯一 ID 数量。如果您仅对 id
值感到满意:
select t.id
from t join
(select id2, count(distinct id) as numids
from t
group by id2
) t2
on t.id2 = t2.id2
group by t.id
having min(numids) > 1;
我不确定获取原始值的值(value)是什么。获取它们的一个简单方法是将 group_concat(id2)
添加到外部 select
。
如果您的意思是 id
的所有 id2
值都相同并且与其他 id 一起出现,则添加 having count (distinct id2)
到 having
子句。
关于mysql - 查找并显示第二列条目全部重复的所有唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52777990/