Выбор ответа Junior GROUP BY и агрегаты спрашивают часто обновлено
Поиск дублей
Вопрос
Как найти email, которые встречаются в таблице users больше одного раза?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: SELECT email FROM users GROUP BY email HAVING COUNT() 1. Группируем по email и оставляем группы, где больше одной строки.
Варианты ответа
SELECT DISTINCT email FROM users ORDER BY emailSELECT email FROM users GROUP BY email HAVING COUNT(*) > 1правильный ответSELECT email FROM users WHERE COUNT(email) > 1 GROUP BY emailSELECT email, COUNT(*) FROM users ORDER BY email
Разбор
Группируем по email и оставляем группы, где больше одной строки. DISTINCT, наоборот, прячет дубли. Агрегат в WHERE недопустим. Последний вариант упадёт: агрегат без GROUP BY нельзя смешивать с обычной колонкой email.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.