SQL - Как удалить повторяющиеся строки по последнему введенной стоимости?

У меня есть этот код из этой ссылки: Как удалить дубликаты строк?

 ;WITH cte
 AS (SELECT ROW_NUMBER() OVER (PARTITION BY person_id, date_work, hours
                                   ORDER BY ( SELECT 0)) RN
     FROM   work_hours)
 DELETE FROM cte
 WHERE  RN > 1

Можно ли удалить первую введенную строку дубликата или у меня должен быть дополнительный столбец date_of_entry? Я хочу сделать это, если я ввел один и тот же date_work и разные часы PARTITION BY person_id, date_work он удаляет случайные дубликаты.

Если это невозможно, как удалить дубликаты с более высокими часами?

7
задан Community 23 May 2017 в 12:20
поделиться