Как выбрать уникальные значения из столбца в SQL?

«Как выбрать уникальные значения из столбца в SQL?» — вопрос из категории Базы данных и SQL, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В 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), но также обеспечивает уникальность группирующих столбцов.