От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
15 of 150 menu

Команда DISTINCT

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

Синтаксис

При выборке:

SELECT DISTINCT field FROM table_name WHERE condition

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

SELECT COUNT(DISTINCT field) FROM table_name WHERE condition

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

SELECT SUM(DISTINCT field) FROM table_name WHERE condition

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

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 и 900):

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
1800

Смотрите также

  • команду SELECT,
    которая выполняет выборку данных из таблицы
  • команду GROUP BY,
    которая группирует записи по указанному полю
  • функцию COUNT,
    которая подсчитывает количество записей
  • оператор UNION,
    который объединяет результаты нескольких запросов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить