Sql server 2008 从表中删除重复行

Sql server 2008 从表中删除重复行,sql-server-2008,Sql Server 2008,可能重复: 我想从表中删除重复的行 ID uID SID USID ------------------------------ 4391 007 Flight ADM007 4392 007 Enquiry ADM007 6723 007 Flight ADM007 6724 007 Enquiry ADM007 6725 008 Flight ADM008 6726 008 Enquiry ADM008 4393

可能重复:

我想从表中删除重复的行

ID      uID     SID      USID
------------------------------
4391    007 Flight  ADM007
4392    007 Enquiry ADM007
6723    007 Flight  ADM007
6724    007 Enquiry ADM007
6725    008 Flight  ADM008
6726    008 Enquiry ADM008
4393    008 Flight  ADM008
4394    008 Enquiry ADM008
4395    009 Flight  ADM009
4396    009 Enquiry ADM009
6727    009 Flight  ADM009
6728    009 Enquiry ADM009
我只想留下

4391    007 Flight  ADM007
4392    007 Enquiry ADM007
6725    008 Flight  ADM008
6726    008 Enquiry ADM008
4395    009 Flight  ADM009
4396    009 Enquiry ADM009
请给我建议你可以使用CTE

with C as
(
  select row_number() over(partition by uID, SID, USID order by ID) as rn
  from YourTable
)
delete from C
where rn > 1
表中剩余的行将被删除

ID          uID         SID        USID
----------- ----------- ---------- ----------
4391        7           Flight     ADM007
4392        7           Enquiry    ADM007
4393        8           Flight     ADM008
4394        8           Enquiry    ADM008
4395        9           Flight     ADM009
4396        9           Enquiry    ADM009

这不完全是您要查找的内容,但在没有其他列可供订购的情况下,它已经非常好了。

如果您在StackOverflow中搜索“删除重复记录”,这个问题已经解决了很多次。