SQL MAX () с HAVING
MAX () функция с наличием
В этой статье мы обсудили, как SQL HAVING CLAUSE можно использовать вместе с SQL MAX (), чтобы найти максимальное значение столбца для каждой группы. SQL HAVING CLAUSE зарезервирован для статистической функции.
Использование предложения WHERE вместе с SQL MAX () также описано на этой странице.
SQL IN OPERATOR, который проверяет значение в наборе значений и извлекает строки из таблицы, также может использоваться с функцией MAX.
Пример :
Образец таблицы: клиент
Чтобы получить данные 'cust_city', 'cust_country' и максимальный размер «привели_амт» из таблицы клиентов при следующих условиях -
1. комбинация cust_country и cust_city должна создать группу
можно использовать следующий оператор SQL:
SELECT cust_city, cust_country, MAX(outstanding_amt)
FROM customer
GROUP BY cust_country, cust_city
HAVING MAX(outstanding_amt)>10000;
Выход :
CUST_CITY CUST_COUNTRY MAX (OUTSTANDING_AMT) ----------------------------------- --------------- ----- -------------------- Бангалор Индия 12000 Ченнаи Индия 11000 Лондон, Великобритания, 11000 Мумбаи Индия 12000 Торенто Канада 11000
Иллюстрированная презентация:
SQL MAX () где
Образец таблицы: клиент
Чтобы получить данные «cust_country» и максимального значения «yal_amt »из таблицы« customer »с соблюдением следующих условий:
1. 'cust_country' должен быть отформатирован в группе,
2. оценка должна быть 2,
можно использовать следующий оператор SQL:
SELECT cust_country,MAX(outstanding_amt)
FROM customer
WHERE grade=2
GROUP BY cust_country;
Выход :
CUST_COUNTRY MAX (OUTSTANDING_AMT) -------------------- -------------------- США 6000 Индия 12000 Австралия 5000 Канада 8000 Великобритания 6000
Иллюстрированная презентация:
SQL MAX () с оператором IN
Образец таблицы: клиент
Чтобы получить данные для «открытие_amt» и максимум «выдающиеся_amt» из таблицы «клиент» при следующих условиях -
1. «Opening_amt» должен прийти в группу,
2. значение 'creation_amt' должно быть 3000, или 8000, или 10000,
можно использовать следующий оператор SQL:
ВЫБЕРИТЬ Открытие_АМТ, МАКС (выдающийся_АМТ) ОТ клиента GROUP BY opens_amt Имея открытие_АМТ (3000,8000,10000);
Выход :
OPENING_AMT MAX (OUTSTANDING_AMT) ----------- -------------------- 10000 11000 3000 6000 8000 12000
Иллюстрированная презентация:
SQL MAX () с HAVING и IN
Пример таблицы: заказы
Чтобы получить данные «agent_code», количество агентов в виде «count (agent_code)» и максимальное значение ord_amount из таблицы «orders» при следующих условиях:
1. 'agent_code' должен быть отформатирован в группе,
2. максимальное значение ord_amount должно быть 500, 800 или 2000,
можно использовать следующий оператор SQL:
SELECT agent_code,COUNT(agent_code),MAX(ord_amount)
FROM orders
GROUP BY agent_code
HAVING MAX(ord_amount) IN(500,800,2000);
Выход :
AGENT_CODE COUNT (AGENT_CODE) MAX (ORD_AMOUNT) ---------- ----------------- --------------- A007 2 2000 A009 1 500 A012 2 2000 A001 1 800
Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.
Вот слайд-презентация всех агрегатных функций.
Новый контент: Composer: менеджер зависимостей для PHP , R программирования