У меня есть таблица под названием Table1, которая содержит 48 записей. Из них в этой таблице должно быть только 24. По какой-то причине я получил дубликаты записей. Как удалить дубликаты записей из этой таблицы.Удаление повторяющихся записей из таблицы
ответ
Вот то, что вы могли бы попробовать, если версия SQL Server 2005 является или более поздней версии.
WITH cte AS
(
SELECT {list-of-columns-in-table},
row_number() over (PARTITION BY {list-of-key-columns} ORDER BY {rule-to-determine-row-to-keep}) as sequence
FROM myTable
)
DELETE FROM cte
WHERE sequence > 1
Это использует общее табличное выражение (CTE) и добавляет столбец последовательностей. {list-of-columns-in-table} точно так же, как и указано. Не все столбцы нужны, но я не буду здесь объяснять.
{list-of-key-columns] - это столбцы, которые вы используете для определения того, что является дубликатом.
{rule-to-define-row-to-keep} - последовательность, так чтобы первая строка была строкой. Например, если вы хотите сохранить самую старую строку, вы должны использовать столбец даты для последовательности.
Вот пример запроса с реальными столбцами.
WITH cte AS
(
SELECT ID, CourseName, DateAdded,
row_number() over (PARTITION BY CourseName ORDER BY DateAdded) as sequence
FROM Courses
)
DELETE FROM cte
WHERE sequence > 1
Этот пример удаляет повторяющиеся строки на основе значения CoursName и сохраняет старую basesd на величину DateAdded.
http://support.microsoft.com/kb/139444
Этот раздел является ключевым . первичный пункт вы должны забрать. ;)
В данной статье описывается, как найти и удалить дубликаты первичных ключей от столика. Тем не менее, вы должны внимательно изучить процесс, который позволил бы дублировать , чтобы предотвратить повторение.
Определите свои записи, группируя данные по вашим логическим клавишам, так как вы, очевидно, их не определили, и применяя в конце инструкцию HAVING COUNT (*)> 1. В этой статье подробно говорится об этом.
Это простой способ
Select * Into #TempTable FROM YourTable
Truncate Table YourTable
Insert into YourTable Select Distinct * from #TempTable
Drop Table #TempTable
Не работает Чувак. Тем не менее у него есть 48 записей после этого – Sam 2010-12-16 23:26:51
- 1. Удаление повторяющихся записей из таблицы
- 2. Удаление определенных повторяющихся записей
- 3. Удаление повторяющихся записей из xml
- 4. Удаление повторяющихся записей из Присоединиться
- 5. Удаление повторяющихся строк из таблицы
- 6. Удаление повторяющихся записей из запроса 2 таблиц
- 7. Удаление повторяющихся записей в таблице
- 8. Удаление повторяющихся записей
- 9. Удаление повторяющихся записей
- 10. Удаление повторяющихся записей пользователя из таблицы базы данных mySQL
- 11. Удаление записей из таблицы
- 12. Удаление повторяющихся записей с условием
- 13. Powershell - Удаление всех повторяющихся записей
- 14. Удаление повторяющихся записей в MySQL
- 15. Удаление повторяющихся записей в массиве
- 16. Удаление повторяющихся записей в PeeWee
- 17. Удаление повторяющихся записей в словаре
- 18. Удаление повторяющихся записей полей в SQL
- 19. Удаление записей из огромной таблицы
- 20. Удаление записей сирот из таблицы
- 21. Удаление записей из таблицы соответствующих
- 22. Обновление повторяющихся записей из другой таблицы
- 23. Удаление повторяющихся строк из таблицы SQL Server
- 24. C# удаление повторяющихся строк из таблицы данных
- 25. Удаление повторяющихся последовательных данных из таблицы MySQL
- 26. Удаление повторяющихся строк из таблицы MySql
- 27. Удаление повторяющихся строк из таблицы тузда
- 28. Удаление повторяющихся записей в одной строке
- 29. Удаление повторяющихся записей с использованием OID другой таблицы
- 30. Matlab: Удаление повторяющихся записей таблицы по нескольким столбцам
Если есть только 48, загрузите SSMS и удалите их вручную. – 2010-12-16 23:00:39