Ответ
В SQL для выборки уникальных значений из столбца используются операторы DISTINCT или GROUP BY.
1. Использование DISTINCT
Оператор DISTINCT удаляет дубликаты из результирующего набора.
-- Выбрать все уникальные города из таблицы users
SELECT DISTINCT city FROM users;
-- Выбрать уникальные пары (город, страна)
SELECT DISTINCT city, country FROM users;
2. Использование GROUP BY
GROUP BY группирует строки по указанным столбцам, что также приводит к уникальности. Этот подход полезен, когда нужны агрегированные данные.
-- Получить уникальные города и количество пользователей в каждом
SELECT city, COUNT(*) as user_count
FROM users
GROUP BY city;
3. Подсчет количества уникальных значений
Для этого часто используется комбинация COUNT и DISTINCT.
-- Узнать, сколько уникальных городов есть в таблице
SELECT COUNT(DISTINCT city) as unique_cities_count FROM users;
Ключевое отличие:
DISTINCTприменяется для выборки уникальных строк.GROUP BYпредназначен для агрегации данных (сCOUNT,SUM,AVG), но также обеспечивает уникальность группирующих столбцов.