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中搜索“删除重复记录”,这个问题已经解决了很多次。