# Команда DISTINCT

Команда `DISTINCT` позволяет выбирать только уникальные значения из базы данных (то есть отсеивает дубли: к примеру, в таблице есть две Маши - тогда запрос выведет только первую).

## Синтаксис

При выборке:

`SELECT DISTINCT поле FROM имя_таблицы WHERE условие`

При подсчете:

`SELECT COUNT(DISTINCT поле) FROM имя_таблицы WHERE условие`

При суммировании:

`SELECT SUM(DISTINCT поле) FROM имя_таблицы WHERE условие`

## Таблицы для примеров

таблица employees
id айди | name имя | age возраст | salary зарплата
--- | --- | --- | ---
1 | user1 | 23 | 400
2 | user2 | 25 | 500
3 | user3 | 23 | 500
4 | user4 | 30 | 900
5 | user5 | 27 | 500
6 | user6 | 28 | 900

## Пример

Давайте выберем все уникальные значения зарплат из таблицы:

`SELECT DISTINCT salary FROM employees`

Результат выполнения кода:

salary зарплата
400
500
900

## Пример

Давайте подсчитаем все уникальные значения зарплат из таблицы (их будет `3` штуки: `400`, `500` и 1000):

`SELECT COUNT(DISTINCT salary) as count FROM employees`

Результат выполнения кода:

count количество
3

## Пример

Давайте подсчитаем одновременно все уникальные значения зарплат и уникальные значения возрастов и запишем их в разные поля:

`SELECT COUNT(DISTINCT salary) as salary_count, COUNT(DISTINCT age) as age_count FROM employees`

Результат выполнения кода:

salary_count зарплата | age_count возраст
--- | ---
3 | 5

## Пример

Давайте просуммируем все уникальные значения зарплат из таблицы `employees`:

`SELECT SUM(DISTINCT salary) as sum FROM employees`

Результат выполнения кода:

sum суммарная зарплата
1900

↑