SQL AVG () функция
Функция AVG ()
Функция SQL AVG () вычисляет среднее значение столбца числового типа. Возвращает среднее значение всех ненулевых значений
Синтаксис:
AVG (выражение [ALL | DISTINCT])
Поддержка СУБД: функция COUNT ()
СУБД | команда |
MySQL | поддержанный |
PostgreSQL | поддержанный |
SQL Server | поддержанный |
оракул | поддержанный |
Синтаксис DB2 и Oracle:
AVG ([ALL | DISTINCT] выражение) OVER ( window_clause )
Параметры:
название | Описание |
---|---|
ВСЕ | Относится ко всем значениям. |
DISTINCT | Вернуть сумму уникальных значений. |
выражение | Выражение состоит из одной константы, переменной, скалярной функции или имени столбца. Выражение является выражением категории точных числовых или приблизительных числовых типов данных, за исключением типа битовых данных. Агрегатные функции и подзапросы не допускаются. |
Синтаксическая диаграмма - функция AVERAGE ()
Пример:
Чтобы получить данные среднего значения 'advance_amount' из таблицы 'orders', можно использовать следующий оператор SQL:
SELECT AVG( advance_amount )
FROM orders;
Пример таблицы: заказы
Выход:
Среднее (ADVANCE_AMOUNT) ------------------- 629.166667
Иллюстрированная презентация:
SQL AVG () с нулевым
Чтобы получить данные «agent_code», сумму «creation_amt», количество клиентов для каждого агента и «receive_amt» из таблицы «customer», можно использовать следующую инструкцию SQL:
SELECT agent_code, SUM (opening_amt),
COUNT(*), ROUND(SUM (opening_amt) /COUNT(*)) AS MYAVG,
ROUND(AVG (opening_amt)) AS SQLAVG
FROM customer
GROUP BY agent_code;
Образец таблицы: клиент
Выход:
AGENT_CODE SUM (OPENING_AMT) COUNT (*) MYAVG SQLAVG ---------- ---------------- ---------- ---------- ---- ------ A002 22000 3 7333 7333 A004 25000 3 8333 8333 A007 16000 2 8000 8000 A009 6000 1 6000 6000 A011 5000 1 5000 5000 A012 5000 1 5000 5000 A010 22000 3 7333 7333 A001 8000 1 8000 8000 A008 13000 3 4333 4333 A006 8000 2 4000 4000 A005 19000 3 6333 6333 A003 12000 2 6000 6000
SQL AVG () с где
Чтобы получить среднее значение 'advance_amount' из таблицы 'orders' при следующих условиях -
1. «ord_amount» должно быть больше 1000,
2. и значение ord_amount должно быть до 4500,
можно использовать следующий оператор SQL:
SELECT AVG( advance_amount)
FROM orders
WHERE ord_amount>1000 AND ord_amount <= 4500;
Пример таблицы: заказы
Выход:
Среднее (ADVANCE_AMOUNT) ------------------- 800
Иллюстрированная презентация:
SQL AVG () с SUM ()
Чтобы получить сумму 'advance_amount' и среднего значения 'advance_amount' из таблицы 'orders', можно использовать следующий оператор SQL:
ВЫБЕРИТЕ СУММУ (advance_amount), AVG (advance_amount) ОТ заказов;
Пример таблицы: заказы
Выход:
SUM (ADVANCE_AMOUNT) AVG (ADVANCE_AMOUNT) ------------------- ------------------- 22650 629,166667
Примечание. Выводы указанного оператора 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.
Предыдущая: СУММА И СЧЕТ, используя переменную и внутреннее соединение
Next: Средние десятичные знаки с использованием Cast внутри и снаружи avg
Новый контент: Composer: менеджер зависимостей для PHP , R программирования