Fra*_*arp 5 t-sql sql-server sql-server-2008
这是我的表Result_Simul的名称
这是价值
Pk FkIdResult FkIdSimul
1 43 1244
2 43 1244
3 52 1244
4 52 1244
Run Code Online (Sandbox Code Playgroud)
如何保持行Pk = 1和Pk = 3并删除Pk = 2和Pk = 4
谢谢你的帮助.
我在Tsql中并不是很好
坦率
And*_*mar 12
您可以使用row_number
为每个副本提供一个升序号,然后删除第二个和更高的重复项:
delete tbl
from (
select row_number() over (partition by FkIdResult, FkIdSimul
order by Pk desc) as rn
, *
from YourTable
) tbl
where rn > 1
Run Code Online (Sandbox Code Playgroud)