【发布时间】:2013-08-25 18:45:35
【问题描述】:
我如何删除不存在unique row id 的重复行?
我的桌子是
col1 col2 col3 col4 col5 col6 col7
john 1 1 1 1 1 1
john 1 1 1 1 1 1
sally 2 2 2 2 2 2
sally 2 2 2 2 2 2
我想在删除重复后留下以下内容:
john 1 1 1 1 1 1
sally 2 2 2 2 2 2
我尝试了一些查询,但我认为它们取决于是否有行 ID,因为我没有得到想要的结果。例如:
DELETE
FROM table
WHERE col1 IN (
SELECT id
FROM table
GROUP BY id
HAVING (COUNT(col1) > 1)
)
【问题讨论】:
-
这不是第一个链接的欺骗。在这个问题中没有行 ID,而在链接的问题中有一个行 ID。非常不同。
-
更改 'SELECT id FROM table GROUP BY id HAVING' 以具有聚合功能,例如MAX/MIN,它应该可以工作。
标签: sql sql-server-2008 duplicates sql-delete