SQL MAX () на значение даты
Функция MAX () на дату
В этой части вы увидите использование функции SQL MAX () для типа даты столбца таблицы.
Пример:
Пример таблицы: заказы
Чтобы получить максимальное значение ord_date из таблицы orders, можно использовать следующий оператор SQL:
SELECT MAX (ord_date) AS "Max Date"
FROM orders;
Выход:
Макс Дата --------- 20 октября-08
SQL MAX () для значения даты с помощью где
Чтобы получить данные «ord_num», «ord_amount», «ord_date», «agent_code» из таблицы «orders» при следующих условиях:
1. «ord_date» равно максимальному «ord_date»,
2. максимальное значение 'ord_date' для тех агентов, чей код_агента 'A002',
можно использовать следующий оператор SQL:
SELECT ord_num, ord_amount, ord_date, agent_code
FROM orders
WHERE ord_date=(
SELECT MAX(ord_date) FROM orders WHERE agent_code='A002');
Выход:
ORD_NUM ORD_AMOUNT ORD_DATE AGENT_CODE --------- ---------- --------- ---------- 200122 2500 16-сен-08 A004 200119 4000 16-SEP-08 A010 200123 500 16-сен-08 A002 200135 2000 16-SEP-08 A010
SQL MAX () на дату с группировкой по
Чтобы получить данные «agent_code» и максимального значения «ord_date» с заданным пользователем псевдонимом столбца «Max Date» для каждого агента из таблицы заказов со следующим условием:
1. 'agent_code' должен входить в группу
можно использовать следующий оператор SQL:
SELECT agent_code, MAX(ord_date) AS "Max Date"
FROM orders
GROUP BY agent_code;
Выход:
AGENT_CODE Макс. Дата ---------- --------- A004 23-SEP-08 A002 16-SEP-08 A007 20 июня 2008 года A009 13-июл-08 A011 30-июл-08 A012 26 августа 2008 года A010 16-SEP-08 A013 15-AUG-08 A001 20-ОКТ-08 A008 15-AUG-08 A006 20-июл-08 A005 10-октябрь-08 A003 20-июл-08
SQL MAX () на значение даты с подзапросом
Чтобы получить данные «agent_code», «ord_date» и «cust_code» из таблицы «orders» при следующих условиях:
'ord_date' будет равна максимальной 'ord_date' таблицы 'orders' со следующим условием -
'agent_code' таблицы 'orders' должен быть равен 'agent code' из
таблица 'orders' упоминается как псевдоним 'S'
можно использовать следующий оператор SQL:
SELECT agent_code, ord_date, cust_code
FROM orders S
WHERE ord_date=(
SELECT MAX(ord_date)
FROM orders
WHERE agent_code = S.agent_code);
Выход:
AGENT_CODE ORD_DATE CUST_CODE ---------- --------- ---------- A008 15-AUG-08 C00002 A006 20 июля 2010 года C00023 A010 16-SEP-08 C00007 A004 23-SEP-08 C00008 A011 30 июля 2010 года C00025 A005 10-OCT-08 C00018 A001 20-OCT-08 C00014 A002 16-SEP-08 C00022 A009 13-июл-08 C00010 A007 20 июня 2010 года C00017 A006 20 июля 2010 года C00024 A003 20 июля 2010 года C00015 A010 16-SEP-08 C00007 A012 26-AUG-08 C00012 A013 15-AUG-08 C00013
SQL MAX () для значения даты с использованием соединения
Пример таблицы: заказы
Пример таблицы: отправка
Чтобы получить все столбцы из таблиц 'orders' и 'despatch' после объединения, с соблюдением следующего условия:
1. «ord_date» должно быть наибольшим (максимальным) из таблицы «orders»,
2. наибольшее (максимальное) значение ord_date должно быть равно таблице ord_date of orders,
3. 'agent_code' таблицы 'orders' должен быть равен 'agent_code' таблицы 'despatch' для присоединения,
можно использовать следующий оператор SQL:
SELECT * FROM orders
LEFT JOIN despatch
ON orders.agent_code = despatch.agent_code
WHERE orders.ord_date=(
SELECT MAX(ord_date) FROM orders);
Выход:
ORD_NUM ORD_AMOUNT ADVANCE_AMOUNT ORD_DATE CUST_C AGENT_ ORD_DESCRIPTION DES_NU DES_DATE DES_AMOUNT ORD_NUM ORD_DATE ORD_AMOUNT AGENT_CODE ---------- ---------- -------------- --------- ------ - ----- ----------------------------- ------ --------- - --------- ---------- --------- ---------- ------ 200117 800 200 20-OCT-08 C00014 A001 D003 25-OCT-08 900 200117 20-OCT-08 800 A001
Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.
Вот слайд-презентация всех агрегатных функций.
Упражнения по 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.
Предыдущий: Макс, где, в
Далее: Максимальное количество, имея
Новый контент: Composer: менеджер зависимостей для PHP , R программирования