Сгруппируйте записи по email и оставьте группы, где COUNT(*) больше одного. Это вернёт каждый повторяющийся адрес только один раз.
Определение повторяющихся email‑адресов в таблице USERS
Сгруппируйте записи по email и оставьте группы, где COUNT(*) больше одного. Это вернёт каждый повторяющийся адрес только один раз.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
В таблице USERS присутствуют столбцы id и email. Составьте SQL‑запрос, который отобразит все email‑адреса, встречающиеся в таблице более одного раза.
Ответ
Сгруппируйте записи по email и оставьте группы, где COUNT(*) больше одного. Это вернёт каждый повторяющийся адрес только один раз.
SELECT email, COUNT(*) AS occurrences
FROM USERS
WHERE email IS NOT NULL
GROUP BY email
HAVING COUNT(*) > 1;
NULL исключён, поскольку не является адресом. Сравнение зависит от collation БД. Если продукт нормализует регистр или пробелы при регистрации, поиск дублей должен использовать ту же нормализацию, а не произвольное новое правило. Такой SELECT ничего не удаляет; очистка дублей и введение уникального ограничения требуют отдельного решения.