我从这个链接有这个代码:
How can I remove duplicate rows?
;WITH cte AS (SELECT ROW_NUMBER() OVER (PARTITION BY person_id,date_work,hours ORDER BY ( SELECT 0)) RN FROM work_hours) DELETE FROM cte WHERE RN > 1
是否可以删除第一个输入的重复行或者我应该有一个额外的列date_of_entry?我想这样做,如果我输入相同的date_work和不同的小时PARTITION BY person_id,date_work它会随机删除重复.
解决方法
按小时desc添加订单
;WITH cte AS (SELECT ROW_NUMBER() OVER (PARTITION BY person_id,date_work ORDER BY hours DESC) RN FROM work_hours) DELETE FROM cte WHERE RN > 1
原文地址:https://www.jb51.cc/mssql/77150.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。