кодесурса
«SQL

SQL SELECT с DISTINCT по нескольким столбцам

script1adsense2code
script1adsense3code

DISTINCT на несколько столбцов

В SQL несколько полей также могут быть добавлены с предложением DISTINCT. DISTINCT удалит те строки, в которых все выбранные поля идентичны.

Содержание:

Пример: пример оператора SELECT

Вот простой запрос для некоторых выбранных столбцов в таблице заказов, где agent_code = 'A002'

Код SQL:

 ВЫБЕРИТЕ агент_код, ord_amount, cust_code, ord_num
ОТ заказов 
WHERE agent_code = 'A002';

Пример таблицы: заказы


Выход:

 AGENT_CODE ORD_AMOUNT CUST_CODE ORD_NUM
---------- ---------- ---------- ----------
A002 2500 C00005 200106
A002 500 C00022 200123
A002 500 C00009 200120
A002 500 C00022 200126
A002 3500 C00009 200128
A002 1200 C00009 200133
A002 4000 C00022 200113

Приведенный выше результат показывает, что один и тот же agent_code , ord_amount и cust_code появляются более одного раза в таблице заказов .

Пример: SELECT с помощью DISTINCT по двум столбцам

Чтобы получить идентичные строки (на основе двух столбцов agent_code и ord_amount ) один раз из таблицы заказов , можно использовать следующую инструкцию SQL:

Код SQL:

SELECT DISTINCT agent_code,ord_amount
FROM orders 
WHERE agent_code='A002';

Выход:

 AGENT_CODE ORD_AMOUNT
---------- ----------
A002 3500
A002 1200
A002 4000
A002 500
A002 2500

Наглядная презентация:

«SQL

Пример: ВЫБРАТЬ с помощью DISTINCT по трем столбцам

Чтобы получить идентичные строки (на основе трех столбцов agent_code, ord_amount и cust_code ) один раз из таблицы заказов , можно использовать следующий оператор SQL:

Код SQL:

SELECT DISTINCT agent_code, ord_amount,cust_code
FROM orders 
WHERE agent_code='A002';

Выход:

 AGENT_CODE ORD_AMOUNT CUST_CODE
---------- ---------- ----------
A002 500 C00022
A002 3500 C00009
A002 2500 C00005
A002 500 C00009
A002 4000 C00022
A002 1200 C00009

Наглядная презентация:

sql различается по двум нескольким столбцам

Пример: SELECT с DISTINCT во всех столбцах первого запроса

Чтобы получить идентичные строки (по четырем столбцам agent_code, ord_amount, cust_code и ord_num ) один раз из таблицы заказов , можно использовать следующую инструкцию SQL:

Код SQL:

SELECT DISTINCT agent_code,ord_amount,cust_code,ord_num  
FROM orders 
WHERE agent_code='A002';

Выход:

 AGENT_CODE ORD_AMOUNT CUST_CODE ORD_NUM
---------- ---------- ---------- ----------
A002 500 C00022 200126
A002 2500 C00005 200106
A002 500 C00009 200120
A002 1200 C00009 200133
A002 4000 C00022 200113
A002 3500 C00009 200128
A002 500 C00022 200123

В приведенном выше выводе все строки, чей agent_code равен 'A002', возвращены, потому что нет идентичных строк в agent_code , ord_amount , cust_code и ord_num . Смотрите следующую презентацию:

Наглядная презентация:

«нет

SELECT с DISTINCT для нескольких столбцов и предложением ORDER BY

Вы можете использовать заказ по предложению в операторе выбора с несколькими столбцами. Вот пример:

Код SQL:

SELECT DISTINCT agent_code,ord_amount
FROM orders 
WHERE agent_code='A002' 
ORDER BY ord_amount;

Выход:

 AGENT_CODE ORD_AMOUNT
---------- ----------
A002 500
A002 1200
A002 2500
A002 3500
A002 4000

Наглядная презентация:

«SQL:

Функция COUNT () и SELECT с помощью DISTINCT для нескольких столбцов

Вы можете использовать функцию count () в операторе выбора с несколькими различными столбцами для подсчета различных строк. Вот пример:

SELECT COUNT(*) 
FROM (
SELECT  DISTINCT agent_code, ord_amount,cust_code
FROM orders 
WHERE agent_code='A002');

Выход:

 COUNT (*)
----------
         6

Наглядная презентация:

«SQL: COUNT ()

Упражнения по SQL

Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.

Предыдущая: ВЫБРАТЬ с помощью DISTINCT
Далее: вставить заявление

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code