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 для решения этой задачи не требуются.