Ответ
Оператор DISTINCT используется в SQL-запросах для исключения дублирующихся строк из результирующего набора. Он применяется в предложении SELECT и возвращает только уникальные комбинации значений указанных столбцов.
Пример использования:
-- Получить список уникальных городов из таблицы пользователей
SELECT DISTINCT city FROM users;
-- Получить уникальные пары город-страна
SELECT DISTINCT city, country FROM users;
Ключевые особенности:
DISTINCTприменяется ко всем столбцам в спискеSELECT- Для поиска дубликатов СУБД обычно выполняет сортировку, что может влиять на производительность на больших таблицах
NULLзначения считаются равными друг другу, поэтомуDISTINCTвернет только одинNULL- Для агрегирования с подсчетом уникальных значений часто используют
COUNT(DISTINCT column):-- Подсчитать количество уникальных городов SELECT COUNT(DISTINCT city) FROM users; - В некоторых случаях альтернативой может быть
GROUP BY, но семантика отличается:GROUP BYпредназначен для агрегации, аDISTINCT— только для удаления дубликатов.