Имена, встречающиеся более 5 раз

28. Найти имена, встречающиеся более 5 раз

Условие задачи:
Есть таблица PostgreSQL:

students (
    name TEXT,
    "group" TEXT,
    cource BIGINT
)

Необходимо вывести имена name, которые встречаются в таблице более 5 раз.


Спойлеры к решению

Подсказки
💡 Сгруппируй записи по name.
💡 Количество строк в каждой группе можно посчитать через COUNT(*).
💡 Для фильтрации сгруппированных данных используй HAVING.

Решение
SELECT name
FROM students
GROUP BY name
HAVING COUNT(*) > 5;

GROUP BY name объединяет строки с одинаковыми именами.

Условие:

HAVING COUNT(*) > 5

оставляет только те имена, которые встречаются в таблице более пяти раз.

Если нужно также вывести количество повторений:

SELECT
    name,
    COUNT(*) AS name_count
FROM students
GROUP BY name
HAVING COUNT(*) > 5;

Поля "group" и cource для решения этой задачи не требуются.