это имя моей таблицы 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
Спасибо за помощь.
Я не очень хорош в Tsql
Фрэнк
Вы можете использовать row_number, чтобы присвоить каждому дубликату восходящий номер, а затем удалить 2-й и более высокий дубликаты:
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
Рабочий пример для данных SE.
в mysql:
create temporary table table2 as (select min(pk) as pk from Table1 group by FkIdResult ); delete from Table1 where pk not in (select pk from table2)