我试过了,
delete from Student where FirstName in
(
select FirstName from
(
select FirstName,
row_number() over(partition by FirstName order by FirstName) as rn
from Student
) Student
WHERE rn > 1
);
但它删除了两个重复的记录。请更正我的查询。提前致谢。
您可以使用CTE
WITH MyCTE
AS
(
SELECT [FirstName], ROW_NUMBER() OVER(PARTITION BY FirstName ORDER BY FirstName) RN
FROM Student
)
DELETE FROM MyCTE WHERE RN > 1;
SELECT * FROM Students;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句