Хотите быстро найти дубликаты в таблице — но не просто значения, а ещё и сразу оставить только уникальные строки?
Вместо сложных подзапросов используйте `ROW_NUMBER()` с
PARTITION BY:
WITH numbered AS (
SELECT
id,
email,
ROW_NUMBER() OVER (PARTITION BY email ORDER BY id) AS rn
FROM users
)
SELECT id, email
FROM numbered
WHERE rn = 1;
📌 Что происходит:
-
PARTITION BY email группирует строки по email -
ROW_NUMBER() нумерует их внутри группы -
WHERE rn = 1 оставляет только первую запись (а все дубликаты убираются)💡 Так можно элегантно чистить таблицы от дублей без лишних вложенных запросов.
@sqlhub