;WITH cte
AS (Select ROW_NUMBER() OVER (PARTITION BY Entity,ExpenseType,Amount,Description,APSupplierID,ExpenseReportID,Employee,ExpenseDate ORDER BY (SELECT 0)) RowNum
FROM TotalsByGLCenter)
Delete FROM cte
WHERE RowNum > 1;
«ROW_NUMBER()» в приведенном выше запросе возвращает порядковый номер строки в пределах раздела результирующего набора, начиная с 1 для первой строки в каждой секции. Предложение ORDER BY определяет порядок, в котором значение ROW_NUMBER присваивается строкам в разделе. Предложение «PARTITION BY» используется здесь для разделения набора результатов на разделы;
Новый столбец RowNum показывает номера строк повторяющихся строк.
В случае, если вы хотите увидеть повторяющиеся строки, которые можно использовать выбрать вместо удалить
;WITH cte
AS (Select ROW_NUMBER() OVER (PARTITION BY Entity,ExpenseType,Amount,Description,APSupplierID,ExpenseReportID,Employee,ExpenseDate ORDER BY (SELECT 0)) RowNum,Entity,ExpenseType,Amount,Description,APSupplierID,ExpenseReportID,Employee,ExpenseDate
FROM TotalsByGLCenter)
Select * FROM cte
WHERE RowNum > 1;
Какой ваш «Основной ключ» в вашем Таблица? – rbr94
Все повторяющиеся записи или вы хотите сохранить один из них? –
Все дубликаты помещают P.Salmon – thenna