Task Livecoding SQL Duplicated Emails

44. Поиск дублированных email #

Условие задачи:
📌 Есть таблица Employee(id, email, salary), в которой некоторые email повторяются. Нужно найти все email, встречающиеся более одного раза.

Employee table with columns: id, email, salary. 
We have duplicated emails. How could we find all duplicated emails?


email
-----
a
b
c
a
Спойлеры к решению
Подсказки
💡 Используйте GROUP BY email и фильтрацию HAVING COUNT(*) > 1.
💡 Альтернативно можно применить оконную функцию COUNT() OVER (PARTITION BY email) для подсчёта вхождений.
Решение
-- Вариант 1: GROUP BY + HAVING
SELECT email
FROM Employee
GROUP BY email
HAVING COUNT(*) > 1;

-- Вариант 2: Оконная функция + DISTINCT
SELECT DISTINCT email
FROM (
    SELECT
        email,
        COUNT(*) OVER (PARTITION BY email) AS cnt
    FROM Employee
) sub
WHERE cnt > 1;