Когда в жизни нет любви, в ней нет и жизни (Авессалом Подводный).

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

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...
25 апреля 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;

 

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

+----------+
| 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.

Просмотров: 155

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

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

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

    Войти с помощью: 

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

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close