Какой рейтинг вас больше интересует?
|
Как удалить дублирующиеся строки таблицы на SQL ?2014-10-07 15:57:00 (читать в оригинале)Часто возникает задача удаления дублирующихся строк на SQL. Предлагаю вам решение для случая, когда строки дублируются по любому набору полей, кроме поля первичного ключа CrawlingId. Проверка на дубли здесь делается по двум полям DBType, BookId, но если вам нужно проверять полные дубли ее нужно сделать по всем (кроме ключа в данном случае). Переделать под любое количество полей проверки очень просто. DELETE FROM dbo.Books WHERE CrawlingId IN ( SELECT T2FR.CrawlingId FROM ( SELECT DBType, BookId, RN = ROW_NUMBER()OVER(PARTITION BY DBType, BookId ORDER BY DBType, BookId), CrawlingId FROM dbo.Books ) T2FR WHERE T2FR.RN>1 ) Конструкция: RN = ROW_NUMBER()OVER(PARTITION BY DBType, BookId ORDER BY DBType, BookId),служит для построения номеров строк по группам строк с одинаковыми полями DBType, BookId
|
Категория «Программы»
Взлеты Топ 5
Падения Топ 5
Популярные за сутки
|
Загрузка...
BlogRider.ru не имеет отношения к публикуемым в записях блогов материалам. Все записи
взяты из открытых общедоступных источников и являются собственностью их авторов.
взяты из открытых общедоступных источников и являются собственностью их авторов.