Как найти повторяющиеся значения в table1?

Группировка по t1 с HAVING COUNT(*) > 1 вернёт две строки: значение 3 встречается дважды, значение 5 также встречается дважды.

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

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

Группировка по t1 с HAVING COUNT(*) > 1 вернёт две строки: значение 3 встречается дважды, значение 5 также встречается дважды.

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

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

Условие

Дана таблица table1(t1 INTEGER), содержащая значения 1, 3, 3, 4, 5, 5. Напишите SQL-запрос, который вернёт только повторяющиеся значения и число их вхождений. NULL в данном наборе нет.

Ответ

Группировка по t1 с HAVING COUNT(*) > 1 вернёт две строки: значение 3 встречается дважды, значение 5 также встречается дважды.

SELECT t1, COUNT(*) AS occurrences
FROM table1
GROUP BY t1
HAVING COUNT(*) > 1
ORDER BY t1;

WHERE отбирает отдельные строки до группировки, поэтому условие на число вхождений находится в HAVING. DISTINCT сам по себе покажет уникальные значения, но не позволит отличить повторяющиеся от одиночных. Если появятся NULL, нужно отдельно решить, считать ли их повторяющимся значением; COUNT(*) учитывает такие строки.

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

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

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

Подробнее