есть вопрос ... У меня есть таблица с более чем 2 миллиардами строк.Многие из них являются дубликатами, но есть столбец (varchar) с датой действия в таком формате, как 201806.
Я хочу дедуплицировать таблицу, НО сохранить самую последнюю дату.
ex.
ID,fname, lname, addrees, city, state, zip, validitydate
1,steve,smith, pob 123, miami, fl. 33081,201709
2,steve,smith, pob 123, miami, fl. 33081,201010
3,steve,smith, pob 123, miami, fl. 33081,201809
4.steve,smith, pob 123, miami, fl. 33081,201201
Я хочу оставить только: Стив, Смит, POB 123, Майами, FL.33081,201809, так как это самый актуальный.Если я запускаю нижеприведенное, он выводит, но это дерьмо, которое осталось в таблице, так как я не могу добавить validityDate, так как tsql будет выглядеть как все из них как уникальные.
Как я могусделать так, чтобы он выводил, но рассчитывал сохранить самую последнюю дату в качестве окончательной записи?
заранее спасибо.
WITH Records AS
(
SELECT fname, lname, addrees, city,
ROW_NUMBER() OVER (
PARTITION BY fname, lname, addrees, city, state, zip,
validitydate by ID) AS RecordInstance
FROM PEOPLE where lastname like 'S%'
)
DELETE
FROM Records
WHERE
RecordInstance > 1