Bil*_*eer 4 sql t-sql sql-server
这是我表中的列:
Id
EmployeeId
IncidentRecordedById
DateOfIncident
Comments
TypeId
Description
IsAttenIncident
Run Code Online (Sandbox Code Playgroud)
我想删除重复行的位置EmployeeId, DateOfIncident, TypeId和Description相同 - 只是为了澄清 - 我确实希望保留其中一行.我想我应该使用该OVER条款PARTITION,但我不确定.
谢谢
Tim*_*ter 17
如果要保留可以使用的重复组的一行ROW_NUMBER.在这个例子中,我保持最低的行Id:
WITH CTE AS
(
SELECT rn = ROW_NUMBER()
OVER(
PARTITION BY employeeid, dateofincident, typeid, description
ORDER BY Id ASC), *
FROM dbo.TableName
)
DELETE FROM cte
WHERE rn > 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15427 次 |
| 最近记录: |