本文介紹了刪除重復行并保留一行的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
這是我的表 Result_Simul 的名稱
This the name of my table Result_Simul
這就是價值
Pk FkIdResult FkIdSimul
1 43 1244
2 43 1244
3 52 1244
4 52 1244
如何只保留行 Pk=1 和 Pk=3 并刪除 Pk=2 和 Pk=4
How to keep just keep rows Pk=1 and Pk=3 and delete Pk=2 and Pk=4
謝謝你幫助我.
我不太擅長 Tsql
弗蘭克
推薦答案
您可以使用 row_number
為每個重復項賦予一個升序編號,然后刪除第 2 個及更高的重復項:
You can use row_number
to give each duplicate an ascending number, and then delete the 2nd and higher duplicates:
delete tbl
from (
select row_number() over (partition by FkIdResult, FkIdSimul
order by Pk desc) as rn
, *
from YourTable
) tbl
where rn > 1
SE Data 的工作示例.
這篇關于刪除重復行并保留一行的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!