从下表中,我要显示两行,其中第3列中的值是重复的:
ID | Col2 | Col3 |
---|---|---|
1个 | 一种 | 123 |
2 | b | 123 |
3 | C | 14 |
4 | d | 65岁 |
5 | Ë | 65岁 |
这意味着我需要的查询应该返回ID为1、2和4、5的行。我使用having
以下命令编写了查询:
SELECT *
FROM t1
INNER JOIN (SELECT col3 FROM t1
GROUP BY col3
HAVING COUNT(*) > 1) a
ON t1.col3 = a.col3
例如,该查询仅返回1和4行,而不是全部重复。我会很感激的。
您的查询应该可以,但是我建议使用窗口函数:
select t1.*
from (select t1.*, count(*) over (partition by col3) as cnt
from t1
) t1
where cnt > 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句