Ответ
В SQL для выборки уникальных значений из столбца или набора столбцов используется оператор DISTINCT.
Синтаксис и пример:
-- Выбрать уникальные значения из одного столбца
SELECT DISTINCT department FROM employees;
-- Выбрать уникальные комбинации значений из нескольких столбцов
SELECT DISTINCT department, job_title FROM employees;
-- DISTINCT можно использовать с агрегатными функциями
SELECT COUNT(DISTINCT department) FROM employees;
Как это работает:
DISTINCT применяется ко всем столбцам, перечисленным в SELECT, и устраняет дублирующиеся строки из результирующего набора перед возвратом данных.
Важное отличие от GROUP BY:
DISTINCT и GROUP BY без агрегатных функций могут давать схожий результат, но семантически различаются:
DISTINCTуказывает на удаление дубликатов.GROUP BYуказывает на группировку для агрегации.
Пример на других языках (для контекста):
- Python: Используйте
set()илиpandas.unique().my_list = [1, 2, 2, 3] unique_values = set(my_list) # {1, 2, 3} # Или с сохранением порядка (Python 3.7+ dict, 3.6+ с collections.OrderedDict) unique_ordered = list(dict.fromkeys(my_list)) # [1, 2, 3] - JavaScript: Используйте объект
Set.const myArray = [1, 2, 2, 3]; const uniqueValues = [...new Set(myArray)]; // [1, 2, 3]