我有下表,我必须从中获取非唯一行
+------+------+------+
| id | idA |infos |
+----- +------+------+
| 0 | 201 | 1899 |
| 1 | 205 | 1955 |
| 2 | 207 | 1955 |
| 3 | 201 | 1959 |
+------+------+------+
Run Code Online (Sandbox Code Playgroud)
我想获取列的所有行infos,它们idA在至少两行中具有相同的值.
必须输出上表的查询
infos
1899
1959
Run Code Online (Sandbox Code Playgroud)
我尝试了以下请求但没有成功:
SELECT idA FROM XXX WHERE NOT EXISTS(SELECT * FROM XXX GROUP BY idA)SELECT * FROM XXX a WHERE NOT EXISTS(SELECT * FROM XXX b WHERE a.RVT_ID=b.RVT_ID GROUP BY idA)Mar*_*ers 36
试试这个:
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
Run Code Online (Sandbox Code Playgroud)
您发布的数据的结果:
idaA infos 201 1899 201 1959
jud*_*dda 33
这样的事情应该有效:
SELECT idA, COUNT(*) FROM XXX GROUP BY idA HAVING COUNT(*) > 1
Run Code Online (Sandbox Code Playgroud)
小智 6
SELECT id, idA, COUNT(infos) AS cnt
FROM mytable
GROUP BY infos
HAVING cnt > 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
49634 次 |
| 最近记录: |