我有这张表和三列(ID、电子邮件、[上次更新]。
我想删除重复的电子邮件,但保留最后更新的行(按日期标准)。在此示例中,aaa
是重复的。它在 2011 年和 2014 年有 1 行。我想只保留 2014 年。
ID Email Last update
a-4 aaa 10/01/2011
b-1 bbb 10/02/2012
k-1 ccc 05/03/2013
d-9 aaa 10/08/2014
t-7 bbb 02/09/2015
最佳答案
在 SQL Server 中,您可以使用 CTE
来执行 DELETE
:
;WITH ToDelete AS (
SELECT ROW_NUMBER() OVER (PARTITION BY Email
ORDER BY [Last update] DESC) AS rn
FROM mytable
)
DELETE FROM ToDelete
WHERE rn > 1
关于sql - 删除重复行但保留最早的行(按日期标准) - SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36240844/