我有一张在 col1 中有一些重复的表格:
co1, col2, col3
a, d, f
r, h, d
e, g, h
z, k, m
e, s, t
a, b, c
e, k, t
Run Code Online (Sandbox Code Playgroud)
感谢这篇文章,我可以选择所有重复的 col1 值
SELECT col1
FROM mytable
GROUP BY col1
HAVING ( COUNT(col1) > 1 )
Run Code Online (Sandbox Code Playgroud)
如何选择具有重复 col1 值的所有行并按 col1 对其进行排序?预期结果如下所示:
co1, col2, col3
a, d, f
a, b, c
e, g, h
e, s, t
e, k, t
Run Code Online (Sandbox Code Playgroud)
用 EXISTS
SELECT *
FROM mytable a
WHERE EXISTS (SELECT 1
FROM mytable b
WHERE a.col1 = b.col1
HAVING Count(col1) > 1)
Order by col1
Run Code Online (Sandbox Code Playgroud)
其它的办法
SELECT *
FROM (SELECT *,
Count(1)OVER( partition BY col1) AS cnt
FROM mytable) a
WHERE cnt > 1
ORDER BY col1
Run Code Online (Sandbox Code Playgroud)