窗口函数row_number()的教科书候选:
;WITH x AS ( SELECt unique_ID ,row_number() OVER (PARTITION BY worker_ID,type_ID ORDER BY date) AS rn FROM tbl )DELETe FROM tblFROM xWHERe tbl.unique_ID = x.unique_IDAND x.rn > 1
这也照顾了一组
(worker_ID,type_ID)相同的受骗者的情况
date。
请参阅有关data.SE的简化演示。更新较简单的版本
事实证明,这可以简化:在SQL Server中,您可以直接从CTE中删除:
;WITH x AS ( SELECt unique_ID ,row_number() OVER (PARTITION BY worker_ID,type_ID ORDER BY date) AS rn FROM tbl )DELETE xWHERe rn > 1
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)