и нужно удалить повторяющиеся ID, оставив только уникальные. Подскажите как это сделать? Можно ли создать столбец в таблице например с функцией ROW_NUMBER() OVER(PARTITION BY id) и потом сделать DELETE FROM test WHERE rn > 1?
Всё уже украдено до нас. ;) https://wiki.postgresql.org/wiki/Deleting_duplicates
не пойдет, мне нужно оставить уникальные значения, т. е. если у меня в таблице 2 строки с id = 1, мне нужно удалить только 1 строку, а этот запрос удалит обе
Не так прочитал, извините. А там полные дубликаты, или всё-таки записи уникальны? Вообще, в крайнем случае есть варианты вроде: https://stackoverflow.com/a/12963112
Да, полные дубликаты. Спасибо за ссылку. Пытаюсь понять как удаление с USING работает
Обсуждают сегодня