Напишите SQL-запрос, который вернёт только те комбинации `name` и `last_name` из таблицы `users`, которые встречаются ровно один раз.

Сгруппируйте строки по name и last_name и оставьте группы с COUNT(*) = 1. DISTINCT не подходит: он убирает повторы, а не исключает повторяющиеся комбинации.

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

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

Сгруппируйте строки по name и last_name и оставьте группы с COUNT(*) = 1. DISTINCT не подходит: он убирает повторы, а не исключает повторяющиеся комбинации.

Подробный разбор

Ответ с пояснениями

Сгруппируйте строки по name и last_name и оставьте группы с COUNT(*) = 1. DISTINCT не подходит: он убирает повторы, а не исключает повторяющиеся комбинации.

SELECT name, last_name
FROM users
GROUP BY name, last_name
HAVING COUNT(*) = 1;

GROUP BY создаёт группу для каждой пары значений, а HAVING фильтрует уже посчитанные группы. Используется именно COUNT(*), чтобы учитывать строки с NULL в имени или фамилии. Результат содержит только два запрошенных поля. Порядок строк не гарантирован; если нужен стабильный порядок, добавьте ORDER BY name, last_name.

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

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

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

Подробнее