2010-10-09 2 views
0

Возможно, я должен сделать это на C#, но у меня есть более одной строки с linkId X. Я хотел бы удалить его, но я не уверен, как это сделать. В коде я мог просто использовать foreach от 0 до n и удалять любые найденные строки с большим (или! =) Id, но это в коде. Существует ли менее сложный способ сделать это с помощью sqlite?Сохраните сначала и удалите дубликаты строк только с помощью sqlite

ответ

3

Предполагая, что имя таблицы tableName, и есть поле первичного ключа с именем id, это сделает следующий sql. Я думаю, что следующий SQL-запрос достаточно общий и должен быть выполнен под любым движком базы данных.

delete from tableName 
where id not in (
    select min(id) from tableName 
    group by linkId 
)