例如,我有一张桌子说"姓名"其中有重复记录:
Id | Firstname
--------------------
1 | John
2 | John
3 | Marc
4 | Jammie
5 | John
6 | Marc
如何获取重复记录并使用其可接受的主键ID显示它们?
答案 0 :(得分:1)
使用Count()Over()
窗口聚合函数
Select * from
(
select Id, Firstname, count(1)over(partition by Firstname) as Cnt
from yourtable
)a
Where Cnt > 1
答案 1 :(得分:0)
SELECT t.*
FROM t
INNER JOIN
(SELECT firstname
FROM t
GROUP BY firstname
HAVING COUNT(*) > 1) sub
ON t.firstname = sub.firstname
子查询可以解决问题。选择多次找到表格的名字,t。然后将这些名称连接回主表以拉入主键。