Определение повторяющихся email‑адресов в таблице USERS

Сгруппируйте записи по email и оставьте группы, где COUNT(*) больше одного. Это вернёт каждый повторяющийся адрес только один раз.

Короткий ответ

Что ответить на собеседовании

Сгруппируйте записи по 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 ничего не удаляет; очистка дублей и введение уникального ограничения требуют отдельного решения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее