我想删除表中的重复行
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
请给我建议
答案 0 :(得分:1)
您可以使用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
YourTable中剩下的行将是
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
不完全是您正在寻找的东西,但是如果没有其他专栏可供选择,那就好了。