Оператор SQL DISTINCT
Оператор SQL DISTINCT используется для указания на то, что следует работать только с уникальными значениями столбца.
Оператор SQL DISTINCT нашел широкое применение в операторе SQL SELECT, для выборки уникальных значений. Так же используется в агрегатных функциях.
Оператор SQL DISTINCT имеет следующий синтаксис:
SELECT DISTINCT column_name FROM table_name
Примеры оператора SQL DISTINCT. Имеется следующая таблица Artists:
| Singer | Album | Year | Sale |
| The Prodigy | Invaders Must Die | 2008 | 1200000 |
| Drowning Pool | Sinner | 2001 | 400000 |
| Massive Attack | Mezzanine | 1998 | 2300000 |
| The Prodigy | Fat of the Land | 1997 | 600000 |
| The Prodigy | Music For The Jilted Generation | 1994 | 1500000 |
| Massive Attack | 100th Window | 2003 | 1200000 |
| Drowning Pool | Full Circle | 2007 | 800000 |
| Massive Attack | Danny The Dog | 2004 | 1900000 |
| Drowning Pool | Resilience | 2013 | 500000 |
Пример 1. Используя оператор SQL DISTINCT вывести, какие исполнители (Singer) имеются в таблице:
SELECT DISTINCT Singer FROM Artists
| Singer |
| The Prodigy |
| Drowning Pool |
| Massive Attack |
Пример 2. Используя оператор SQL DISTINCT вывести количество уникальных исполнителей в таблице:
SELECT COUNT(DISTINCT Singer) AS CountOfSingers FROM Artists
| CountOfSingers |
| 3 |
SQL оператор DISTINCT
SQL оператор DISTINCT используется для удаления дубликатов из результирующего набора оператора SELECT.
Синтаксис
Синтаксис для оператора DISTINCT в SQL:
SELECT DISTINCT expressions
FROM tables
[WHERE conditions];
Параметры или аргументы
expressions Столбцы или расчеты, которые вы хотите получить. tables Таблицы, из которых вы хотите получить записи. В предложении FROM должна быть указана хотя бы одна таблица. WHERE conditions Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.
Примечание
- Если в операторе DISTINCT указано только одно выражение, запрос возвратит уникальные значения для этого выражения.
- Если в операторе DISTINCT указано несколько выражений, запрос извлекает уникальные комбинации для перечисленных выражений.
- В SQL оператор DISTINCT не игнорирует значения NULL. Поэтому при использовании DISTINCT в вашем операторе SQL ваш результирующий набор будет содержать значение NULL в качестве отдельного значения.
Пример — поиск уникальных значений в столбце
Давайте посмотрим, как использовать оператор DISTINCT для поиска уникальных значений в одном столбце таблицы.
В этом примере у нас есть таблица suppliers со следующими данными:
| supplier_id | supplier_name | city | state |
|---|---|---|---|
| 100 | Yandex | Moscow | Russia |
| 200 | Lansing | Michigan | |
| 300 | Oracle | Redwood City | California |
| 400 | Bing | Redmond | Washington |
| 500 | Yahoo | Sunnyvale | Washington |
| 600 | DuckDuckGo | Paoli | Pennsylvania |
| 700 | Qwant | Paris | Ile de France |
| 800 | Menlo Park | California | |
| 900 | Electronic Arts | San Francisco | California |
Давайте найдем все уникальные значения в таблице suppliers . Введите следующий SQL оператор:
DISTINCT оператор
SQL оператор DISTINCT используется для удаления дубликатов из результирующего набора SELECT.
Синтаксис
SELECT DISTINCT expressions
FROM tables
[WHERE conditions];
Параметры или аргументы
expressions — столбцы или расчеты, которые вы хотите получить.
tables – таблицы из которых вы хотите выгрузить данные. После оператора FROM должна быть указана хотя бы одна таблица.
WHERE conditions . Необязательный. Условия, которые должны быть выполнены для записей, которые будут выбраны.
Примечание
- Когда в операторе DISTINCT содержится только одно выражение, запрос будет возвращать уникальные значения для этого выражения.
- Когда в операторе DISTINCT содержится более одного выражения, запрос будет возвращать уникальные комбинации для перечисленных выражений.
- Оператор DISTINCT не игнорирует NULL значения. Таким образом, при использовании DISTINCT в вашем SQL запросе, ваш результирующий набор будет включать в себя NULL в качестве отдельного значения.
Пример с одним полем
Рассмотрим на примере простой SQL DISTINCT запрос. Здесь используется SQL оператор DISTINCT, который возвращает одно поле, в котором удалены дубликаты из результирующего набора.
SQL — Оператор SELECT DISTINCT
Оператор SELECT DISTINCT используется для возврата только отдельных (разных) значений. Внутри таблицы столбец часто содержит много повторяющихся значений и вам нужно только перечислить отличающиеся значения.
Синтаксис SELECT DISTINCT
SELECT DISTINCT column1, column2, . FROM table_name;
Пример SELECT
Следующий оператор SQL выбирает все (и дубликаты) значения из столбца «name» в таблице «users»:
Пример:
SELECT name FROM users;
Теперь давайте используем ключевое слово DISTINCT с приведенным выше оператором SELECT и увидим результат.
Пример SELECT DISTINCT
Следующий оператор SQL выбирает только значения DISTINCT из столбца «name» в таблице «users»:
Пример:
SELECT DISTINCT name FROM users;
В следующем SQL-заявлении указано количество разных имен пользователей:
Пример:
SELECT COUNT(DISTINCT name) FROM users;