Есть ли способ, с помощью которого я могу удалить дублируемую запись, которая существует в таблице. Мне просто нужна одна запись, а остальные из них будут удалены по запросу. Это можно сделать с помощью запроса. пожалуйста, предложитеудаление дубликатов записей
ответ
Попробуйте -
Добавить столбец ID в качестве IDENTITY в таблицу первым -
alter <tablename> add id INT IDENTITY
Затем используйте ниже запрос для удаления дубликатов записей -
delete
FROM <tablename>
WHERE id IN
(
SELECT MAX(id)
FROM <tablename>
GROUP BY <columnnames defining uniqueness>
having count (*) > 1
)
Имейте ввиду, что он удаляет только один дубликат существующей строки. Если есть три строки, которые разделяют условие группировки - это не сработает, если вы не выполните запрос несколько раз (до тех пор, пока строки не будут удалены) или измените условие удаления.
использования distinct
:
SELECT distinct * FROM Table ....
Это в основном зависит от структуры вашей таблицы, количество контрсил имеют и количество столбцов в первичном ключе, если он имеет какой-либо.
Вам нужно найти оптимизированный запрос, который будет идентифицировать уникальные записи на основе указанных выше ограничений, а затем наиболее бессильно вам нужно учитывать время, затраченное на удаление этих дубликатов по вашему запросу.
Так что никто не может комментировать, если вы не публикуете полную структуру и некоторые примеры дубликатов данных.
Надеюсь, что этот небольшой вклад поможет.
Вот пример пример удаления дубликатов записей
Create table #Test (colA int not null, colB int not null, colC int not null, id int not null identity) on [Primary]
GO
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,1,1)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (1,2,3)
INSERT INTO #Test (colA,colB,colC) VALUES (4,5,6)
GO
Select * from #Test
GO
Delete from #Test where id <
(Select Max(id) from #Test t where #Test.colA = t.colA and
#Test.colB = t.colB and
#Test.colC = t.colC)
GO
Select * from #Test
GO
- 1. Удаление дубликатов записей MySQL
- 2. Удаление дубликатов записей?
- 3. удаление дубликатов записей в списке
- 4. Удаление дубликатов записей от arralist
- 5. Удаление дубликатов записей из базы данных Mysql
- 6. Удаление «дубликатов» записей из SQL Query
- 7. Удаление дубликатов записей без использования промежуточной таблицы
- 8. удаление дубликатов записей в базе данных
- 9. Быстрое удаление дубликатов записей в MySQL
- 10. Удаление дубликатов записей и их сохранение
- 11. Удаление дубликатов записей из отборной коробки
- 12. Фильтрация/удаление дубликатов записей с использованием жидкости
- 13. Удаление записей дубликатов из многомерного php-массива
- 14. Удаление дубликатов записей CSV с помощью python
- 15. MongoDB: Удаление дубликатов записей из списка массивов
- 16. Удаление дубликатов записей из реляционной таблицы db
- 17. Удаление дубликатов записей без создания временной таблицы
- 18. Удаление дубликатов записей в базе данных MySQL
- 19. Удаление дубликатов в MySql
- 20. Удаление дубликатов
- 21. MySQL удаление дубликатов данных
- 22. Удаление дубликатов в Postgres
- 23. Mysql - удаление дубликатов
- 24. Удаление дубликатов из sqldatasource
- 25. Пролог: Удаление дубликатов
- 26. Удаление дубликатов в Access 2003
- 27. Array удаление дубликатов записей, где они превышают значение X
- 28. Удаление дубликатов в учетных таблиц и обновления соответствующих записей
- 29. Удаление дубликатов записей, кроме одного с объединением трех таблиц
- 30. Удаление дубликатов из перечисленных записей с SQL в PhpMyAdmin
Существует, но вы должны научиться как поиск существующих ответов и принимать ответы на существующие вопросы. –
Какие СУБД вы используете? Также, удовлетворены ли какие-либо из ваших последних 10 вопросов? Если да, можете ли вы принять на них ответы? –
Если вы используете MySQL, вы можете проверить это сообщение со вчерашнего дня: http://stackoverflow.com/questions/3383898/remove-duplicates-using-only-a-mysql-query –