Поиск по сайту:
Я ем, чтобы жить, а другие люди живут, чтобы есть (Сократ).

SQL – Обработка дубликатов

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
25.04.2017
SQL - Обработка дубликатов

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

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

Синтаксис

Основной синтаксис ключевого слова DISTINCT, чтобы исключить повторяющиеся записи, следующий:

SELECT DISTINCT column1, column2,.....columnN 
FROM table_name
WHERE [condition]

Пример

Рассмотрим таблицу клиентов, имеющую следующие записи:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 31500.00 |
|  5 | Ruslan   |  34 | Omsk      | 43000.00 |
|  6 | Dima     |  32 | SP        | 43000.00 |
|  7 | Roma     |  34 | SP        | 10000.00 |
+----+----------+-----+-----------+----------+

 

Во-первых, давайте посмотрим, как оператор SELECT возвращает дубликат записи заработной платы:

SQL> SELECT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

 

Это произведет следующий результат, где зарплата 43000 покажется дважды, которое дублирует запись из исходной таблицы.

+----------+
| SALARY   |
+----------+
| 21000.00 |
| 55500.00 |
| 34000.00 |
| 31500.00 |
| 43000.00 |
| 43000.00 |
| 10000.00 |
+----------+

 

Теперь, давайте используем ключевое слово DISTINCT с указанным запросом SELECT, чтобы увидеть результат.

SQL> SELECT DISTINCT SALARY FROM CUSTOMERS
   ORDER BY SALARY;

 

Это произведет следующий результат, где у нас нет каких-либо повторяющихся записей:

+----------+
| SALARY   |
+----------+
| 21000.00 |
| 55500.00 |
| 34000.00 |
| 31500.00 |
| 43000.00 |
| 10000.00 |
+----------+

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.