Как вывести уникальные значения sql
Перейти к содержимому

Как вывести уникальные значения sql

  • автор:

Как посчитать уникальные значения в sql

Используем DISTINCT и COUNT() . Первый удалит дубликаты, а вторая посчитает количество строк.

SELECT COUNT(DISTINCT car_id) FROM orders; -- покажет количество уникальных car_id в таблице orders 

Команда 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

Уникальные записи – SELECT DISTINCT

Примечание:
Во всех статьях текущей категории уроков по SQL используются примеры и задачи, основанные на учебной базе данных.

Приступая к изучению данного материала, рекомендуется ознакомиться с описанием учебной БД.

В подавляющем большинстве случаев, записи в таблицах баз данных уникальны, но в отдельных столбцах допускаются повторяющиеся значения. Если запрос выгружает столбцы не являющиеся ключевыми, то полученные строки могут дублироваться.

Избавиться от дубликатов можно, добавив в запрос ключевое слово DISTINCT. Оно указывается в предложении SELECT, сразу после ключевого слова SELECT:

SELECT DISTINCT FROM

Выбрать уникальные имена всех сотрудников.

-- Выполняем запрос в контексте учебной базы USE CallCenter SELECT DISTINCT Имя FROM Сотрудники

Общее количество записей в таблице сотрудников составляет 39, но приведенный SQL-код выгрузил 34 строки. 5-ть повторяющихся имен были удалены из результата.

Дополним синтаксис оператора SELECT, описанный в предыдущем уроке, новым ключевым словом:

SELECT [DISTINCT] [Имя_таблицы.]Имя_столбца[, [Имя_таблицы.]Имя_столбца2 …] FROM [[Имя_базы_данных.]Имя_Схемы.]Имя_таблицы
  • Объединение таблиц – UNION
  • Соединение таблиц – операция JOIN и ее виды
  • Тест на знание основ SQL

Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы я мог развивать его дальше.

Как в sql выбрать уникальные значения

С помощью DISTINCT можно получить только уникальные значения из столбца таблицы.

SELECT DISTINCT first_name FROM users; first_name ------------ Roman Sean Alex Michal Britney 

Кроме того, DISTINCT можно использовать и с несколькими полями сразу:

SELECT DISTINCT first_name, last_name FROM users; first_name | last_name ------------+--------------- Bruce | Williss Sean | Connery Robin | Williams 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *