我有下表,我必须从中获取非唯一行
id | idA | 信息 |
---|---|---|
0 | 201 | 1899 |
1 | 205 | 1955 |
2 | 207 | 1955 |
3 | 201 | 1959 |
我想获取列 infos
的所有行,这些行在至少两行中具有相同的 idA
值。
上表的查询输出必须是
infos
1899
1959
我尝试了以下请求但没有成功:
在不存在的情况下从 XXX 中选择 idA(按 idA 从 XXX 组中选择 *)
SELECT * FROM XXX a WHERE NOT EXISTS(SELECT * FROM XXX b WHERE a.RVT_ID=b.RVT_ID GROUP BY idA)
最佳答案
试试这个:
SELECT T1.idA, T1.infos
FROM XXX T1
JOIN
(
SELECT idA
FROM XXX
GROUP BY idA
HAVING COUNT(*) >= 2
) T2
ON T1.idA = T2.idA
您发布的数据的结果:
idaA infos 201 1899 201 1959
关于mysql - 如何选择非 "unique"行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519582/