postgresql удалить дубликаты

Аватар пользователя Maksim Litvinov
Maksim Litvinov
22 марта 2024

Для удаления дубликатов из таблицы в PostgreSQL можно воспользоваться оператором DELETE с использованием подзапроса, который найдет все дубликаты и удалит их.

Например, если у нас есть таблица "users" с полем "email" и мы хотим удалить все дубликаты email адресов, то мы можем использовать следующий запрос:

DELETE FROM users
WHERE id NOT IN (
    SELECT MIN(id)
    FROM users
    GROUP BY email
);

Этот запрос найдет все дубликаты email адресов в таблице "users" и удалит только те записи, у которых id не является минимальным для данного email адреса.

Таким образом, после выполнения этого запроса в таблице "users" останутся только уникальные email адреса, без дубликатов.

0 0