SQL SELECT с DISTINCT по нескольким столбцам
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
Наглядная презентация:
Пример: ВЫБРАТЬ с помощью 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
Наглядная презентация:
Пример: 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
Наглядная презентация:
Функция COUNT () и SELECT с помощью DISTINCT для нескольких столбцов
Вы можете использовать функцию count () в операторе выбора с несколькими различными столбцами для подсчета различных строк. Вот пример:
SELECT COUNT(*)
FROM (
SELECT DISTINCT agent_code, ord_amount,cust_code
FROM orders
WHERE agent_code='A002');
Выход:
COUNT (*) ---------- 6
Наглядная презентация:
Упражнения по SQL
- Упражнения по SQL, практика, решение
- SQL Получить данные из таблиц [33 Упражнения]
- Булевы и реляционные операторы SQL [12 упражнений]
- Подстановочные знаки SQL и специальные операторы [22 упражнения]
- Агрегатные функции SQL [25 упражнений]
- Вывод запроса форматирования SQL [10 упражнений]
- SQL-запросы к нескольким таблицам [7 упражнений]
- ФИЛЬТРАЦИЯ И СОРТИРОВКА в базе данных персонала [38 упражнений]
- SQL СОЕДИНЯЕТ
- SQL ПОДПИСИ
- SQL Union [9 упражнений]
- SQL View [16 упражнений]
- Управление учетными записями пользователей SQL [16 упражнение]
- База данных фильмов
- ОСНОВНЫЕ запросы к базе данных фильмов [10 упражнений]
- ПОДПИСКИ на фильм База данных [16 упражнений]
- ПРИСОЕДИНЯЕТСЯ к базе данных фильма [24 упражнения]
- Футбольная база
- Вступление
- ОСНОВНЫЕ запросы по футболу базы данных [29 упражнений]
- ПОДПИСКИ по футбольной базе данных [33 упражнения]
- База данных больницы
- База данных сотрудников
- ОСНОВНЫЕ запросы к базе данных сотрудников [115 упражнений]
- БРОНИРОВАНИЕ на сотрудника База данных [77 Упражнения]
- Еще не все!
Хотите улучшить вышеуказанную статью? Вносите свои заметки / комментарии / примеры через Disqus.
Предыдущая: ВЫБРАТЬ с помощью DISTINCT
Далее: вставить заявление
Новый контент: Composer: менеджер зависимостей для PHP , R программирования