SQL Оператор SELECT DISTINCT
SQL оператор SELECT DISTINCT
Оператор SELECT DISTINCT используется для возврата только distinct - отдельных (разных) значений.
Столбец внутри таблицы часто содержит много повторяющихся значений; а иногда необходимо перечислить только разные (отдельные) значения.
Синтаксис SELECT DISTINCT
SELECT DISTINCT столбец1, столбец2, ...
FROM имя_таблицы;
Демо-база данных
Ниже представлен выбор из таблицы "Customers" ("Клиенты") в образце базы данных Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 |
Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Пример SELECT без DISTINCT
Следующий SQL оператор выбирает ВСЕ (включая дубликаты) значения из столбца "Country" в таблице "Customers":
Теперь давайте используем ключевое слово DISTINCT с указанным выше оператором SELECT и посмотрим на результат.
Примеры SELECT DISTINCT
Следующий SQL оператор выбирает только значения DISTINCT из столбца "Country" в таблице "Customers":
Следующий SQL оператор перечисляет количество разных (отдельных) стран-заказчиков:
Примечание: Приведенный выше пример не будет работать в Firefox! Потому что COUNT(DISTINCT column_name) не поддерживается в базах данных Microsoft Access. Firefox использует Microsoft Access в наших примерах.
Вот обходной путь для MS Access:
Пример
SELECT Count(*) AS DistinctCountries
FROM (SELECT DISTINCT Country FROM Customers);
Попробуйте сами »