select avg sql что это

AVG (Transact-SQL)

Эта функция возвращает среднее арифметическое группы значений. Значения NULL она не учитывает.

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что этоСинтаксические обозначения в Transact-SQL

Синтаксис

Ссылки на описание синтаксиса Transact-SQL для SQL Server 2014 и более ранних версий, см. в статье Документация по предыдущим версиям.

Аргументы

ALL
Применяет агрегатную функцию ко всем значениям. ALL является параметром по умолчанию.

DISTINCT
Указывает на то, что функция AVG выполняется только для одного уникального экземпляра каждого значения, независимо от того, сколько раз встречается это значение.

expression
Выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit. Агрегатные функции и вложенные запросы не допускаются.

OVER ( [ partition_by_clause ] order_by_clause )
partition_by_clause делит результирующий набор, полученный с помощью предложения FROM, на секции, к которым применяется функция. Если этот параметр не указан, функция обрабатывает все строки результирующего набора запроса как отдельные группы. order_by_clause определяет логический порядок, в котором выполняется операция. Аргумент order_by_clause является обязательным. Дополнительные сведения см. в статье Предложение OVER (Transact-SQL).

Типы возвращаемых данных

Тип возвращаемого значения определяется типом вычисленного результата выражения.

Результат выраженияВозвращаемый тип
tinyintint
smallintint
intint
bigintbigint
Категория decimal (p, s)decimal(38, max(s,6))
Категории money и smallmoneymoney
Категории float и realfloat

Комментарии

Если тип данных expression является типом данных-псевдонимом, тип возвращаемого значения также является типом данных-псевдонимом. Однако если базовый тип данных типа данных-псевдонима может повышаться, например из tinyint в int, возвращаемое значение будет иметь повышенный тип данных, а не тип данных-псевдоним.

Функция AVG () вычисляет среднее арифметическое набора значений, выполняя деление суммы этих значений на число значений, не равных NULL. Если сумма превышает максимальное значение для типа данных возвращаемого значения, AVG() возвратит ошибку.

AVG — это детерминированная функция, если она используется без предложений OVER и ORDER BY. Она не детерминирована при использовании с предложениями OVER и ORDER BY. Дополнительные сведения см. в разделе Deterministic and Nondeterministic Functions.

Примеры

A. Использование функций SUM и AVG для вычислений

В этом примере вычисляется среднее количество часов отпуска и сумма часов отсутствия по болезни, которые использовали вице-президенты компании Компания Adventure Works Cycles. Каждая из этих агрегатных функций создает одно сводное значение для всех извлеченных строк. В этом примере используется база данных AdventureWorks2012.

Б. Использование функций SUM и AVG в предложении GROUP BY

При использовании с предложением GROUP BY каждая агрегатная функция создает одно значение, охватывающее каждую группу, а не одно значение для всей таблицы. В следующем примере создается итоговое значение для каждой территории сбыта в базе данных AdventureWorks2012. Итог содержит средний бонус, полученный продавцами по каждой территории, и сумму продаж за текущий год для каждой территории.

В. Использование функции AVG с ключевым словом DISTINCT

Эта инструкция возвращает среднюю ориентировочную цену на продукцию из базы данных AdventureWorks2012. При использовании DISTINCT в расчете учитываются только уникальные значения.

Г. Использование функции AVG без ключевого слова DISTINCT

Без ключевого слова DISTINCT функция AVG находит среднюю ориентировочную цену всех продуктов в таблице Product в базе данных AdventureWorks2012, учитывая и все повторяющиеся значения.

Д. Использование предложения OVER

В этом примере предложение OVER не включает в себя предложение PARTITION BY. Это означает, что функция будет применяться для всех строк, возвращаемых запросом. Предложение ORDER BY, указанное в предложении OVER, определяет логический порядок применения функции AVG. Запрос возвращает скользящее среднее значение продаж за год для всех территорий, указанных в предложении WHERE. Предложение ORDER BY, указанное в инструкции SELECT, определяет порядок, в котором эта инструкция отображает строки запроса.

Источник

Avg (многомерные выражения)

Вычисляет набор и возвращает среднее непустых значений ячеек набора; среднее считается по мерам в наборе или по указанной мере.

Синтаксис

Аргументы

Set_Expression
Допустимое многомерное выражение, возвращающее набор.

Numeric_Expression
Допустимое числовое выражение (обычно многомерное выражение координат ячейки), возвращающее число.

Remarks

Если задан набор пустых кортежей или пустой набор, функция AVG возвращает пустое значение.

Функция AVG вычисляет среднее для непустых значений ячеек в заданном наборе, сначала вычисляя сумму значений по ячейкам в указанном наборе, а затем вычисляет вычисленную сумму по количеству непустых ячеек в указанном наборе.

Службы Службы Analysis Services отбрасывает неопределенные значения при вычислении среднего значения для набора чисел.

Если определенное числовое выражение (обычно мера) не указано, функция AVG усредняет среднюю величину в текущем контексте запроса. Если указана определенная мера, функция AVG сначала вычисляет меру по набору, а затем функция вычисляет среднее на основе указанной меры.

При использовании функции CurrentMember в операторе вычисляемого элемента необходимо указать числовое выражение, так как для текущей координаты в таком контексте запроса не существует меры по умолчанию.

Примеры

Следующий пример возвращает среднее значение для меры в указанном наборе. Обратите внимание, что заданная мера может быть либо мерой по умолчанию для элементов указанного набора, либо указанной мерой.

WITH SET [NW Region] AS

MEMBER [Geography].[Geography].[NW Region Avg] AS

—Uncomment the line below to get an average by Reseller Gross Profit Margin

—otherwise the average will be by whatever the default measure is in the cube,

—or whatever measure is specified in the query

—, [Measures].[Reseller Gross Profit Margin]

SELECT [Date].[Calendar Year].[Calendar Year].Members ON 0

FROM [Adventure Works]

WHERE ([Geography].[Geography].[NW Region Avg])

WITH MEMBER Measures.[Avg Gross Profit Margin] AS

Measures.[Gross Profit Margin]

MEMBER Measures.[Avg Gross Profit Margin Including Empty Days] AS

CoalesceEmpty(Measures.[Gross Profit Margin],0)

[Ship Date].[Fiscal].[Fiscal Year].Members ON ROWS

Источник

SQL AVG () функция

Функция AVG ()

Функция SQL AVG () вычисляет среднее значение столбца числового типа. Возвращает среднее значение всех ненулевых значений

Синтаксис:

Поддержка СУБД: функция COUNT ()

СУБДкоманда
MySQLподдержанный
PostgreSQLподдержанный
SQL Serverподдержанный
оракулподдержанный

Синтаксис DB2 и Oracle:

Параметры:

названиеОписание
ВСЕОтносится ко всем значениям.
DISTINCTВернуть сумму уникальных значений.
выражениеВыражение состоит из одной константы, переменной, скалярной функции или имени столбца. Выражение является выражением категории точных числовых или приблизительных числовых типов данных, за исключением типа битовых данных. Агрегатные функции и подзапросы не допускаются.

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

Пример:

Чтобы получить данные среднего значения ‘advance_amount’ из таблицы ‘orders’, можно использовать следующий оператор SQL:

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

Иллюстрированная презентация:

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

SQL AVG () с нулевым

Чтобы получить данные «agent_code», сумму «creation_amt», количество клиентов для каждого агента и «receive_amt» из таблицы «customer», можно использовать следующую инструкцию SQL:

Образец таблицы: клиент

SQL AVG () с где

1. «ord_amount» должно быть больше 1000,

2. и значение ord_amount должно быть до 4500,

можно использовать следующий оператор SQL:

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

Иллюстрированная презентация:

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

SQL AVG () с SUM ()

Чтобы получить сумму ‘advance_amount’ и среднего значения ‘advance_amount’ из таблицы ‘orders’, можно использовать следующий оператор SQL:

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

Примечание. Выводы указанного оператора SQL, показанного здесь, взяты с использованием Oracle Database 10g Express Edition.

Вот слайд-презентация всех агрегатных функций.

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

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

Источник

Группировка

Агрегатные функции

Агрегатные функции выполняют вычисления над значениями в наборе строк. В T-SQL имеются следующие агрегатные функции:

AVG : находит среднее значение

SUM : находит сумму значений

MIN : находит наименьшее значение

MAX : находит наибольшее значение

COUNT : находит количество строк в запросе

В качестве аргумента все агрегатные функции принимают выражение, которое представляет критерий дя определения значений. Зачастую, в качестве выражения выступает название столбца, над значениями которого надо проводить вычисления.

Все агрегатные функции за исключением COUNT(*) игнорируют значения NULL.

Функция Avg возвращает среднее значение на диапазоне значений столбца таблицы.

Пусть в базе данных у нас есть таблица товаров Products, которая описывается следующими выражениями:

Найдем среднюю цену товаров из базы данных:

Для поиска среднего значения в качестве выражения в функцию передается столбец Price. Для получаемого значения устанавливается псевдоним Average_Price, хотя можно его и не устанавливать.

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

Также мы можем применить фильтрацию. Например, найти среднюю цену для товаров какого-то определенного производителя:

И, кроме того, мы можем находить среднее значение для более сложных выражений. Например, найдем среднюю сумму всех товаров, учитывая их количество:

Count

Функция Count вычисляет количество строк в выборке. Есть две формы этой функции. Первая форма COUNT(*) подсчитывает число строк в выборке:

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

Вторая форма функции вычисляет количество строк по определенному столбцу, при этом строки со значениями NULL игнорируются:

Min и Max

Функции Min и Max возвращают соответственно минимальное и максимальное значение по столбцу. Например, найдем минимальную цену среди товаров:

Поиск максимальной цены:

Данные функции также игнорируют значения NULL и не учитывают их при подсчете.

Функция Sum вычисляет сумму значений столбца. Например, подсчитаем общее количество товаров:

select avg sql что это. Смотреть фото select avg sql что это. Смотреть картинку select avg sql что это. Картинка про select avg sql что это. Фото select avg sql что это

Также вместо имени столбца может передаваться вычисляемое выражение. Например, найдем общую стоимость всех имеющихся товаров:

All и Distinct

Так как этот оператор неявно подразумевается при отсутствии DISTINCT, то его можно не указывать.

Источник

Агрегатные функции в SQL: объяснение с примерами запросов

Перевод статьи «SQL Aggregate Functions – With Example Data Queries for Beginners».

Если вы когда-либо работали с таблицами Excel или Google Sheets, агрегатные функции SQL покажутся вам знакомыми. Например, вам случалось использовать SUM при работе с таблицами? Функция SUM есть и в SQL. Она как раз относится к агрегатным функциям.

Агрегатные функции выполняют конкретные действия со строками таблиц.

Допустим, вы каждый год запускаете сбор денег на какие-то нужды. У вас есть база жертвователей, где хранятся их имена, адреса электронной почты и перечисленные суммы (по годам).

При помощи функции COUNT вы можете определить, сколько всего пожертвований было сделано. А при помощи SUM можно вычислить общую сумму денег, которую удалось собрать в этом году.

В этой статье мы рассмотрим следующие агрегатные функции: COUNT, SUM, MIN/MAX и AVG. А для иллюстрации будем использовать небольшой набор данных:

NAMEEMAILDONATION_2020DONATION_2021
Andrew Jonesajones@someemail.com400500
Maria Rodriguezmaria77@someemail.com1000350
Gerry FordNULL2525
Isabella Munnisamun91@someemail.com250NULL
Jennifer Wardjjw1972@someemail.com20002300
Rowan ParkerNULL50004000

Таблица donors

Функция COUNT

Функция COUNT возвращает количество строк. В самой простой форме COUNT подсчитывает общее количество строк в вашей таблице.

Вернется общее число жертвователей, в нашем случае это 6. Мы, конечно, и так видим, что их 6, но представьте, что таблица у нас очень большая.

Возможно, вам нужно сосчитать только какие-то определенные строки. Например, вывести число жертвователей, у которых указан адрес электронной почты.

Функция SUM

SUM — очень полезная агрегатная функция, с помощью которой можно складывать числовые значения в различных строках.

Поэтому в нашем примере при помощи функции SUM можно сложить все донаты всех жертвователей за определенный год, но не суммы, перечисленные каждым отдельным человеком за два года.

Функции MIN и MAX

Как вы наверняка догадываетесь, MIN и MAX используются для поиска минимального и максимального значений в определенном столбце базы данных.

Вернемся к нашему примеру. Допустим, нам нужно найти, каким было самое маленькое и самое большое пожертвование в 2021 году. Для этого мы можем запустить следующий запрос:

Обратите внимание, что здесь для возвращаемых столбцов мы добавили псевдонимы, при этом взяли их в кавычки. Если в вашем псевдониме нет пробелов, кавычки не обязательны, но у нас пробелы есть.

Любопытный факт: функции MIN и MAX можно использовать и для нечисловых значений.

MIN ищет самое маленькое число, букву, которая в алфавите стоит ближе всего к A, или самую раннюю дату. Функция MAX ищет самое большое число, букву, стоящую ближе всего к Z, или самую последнюю дату. Это очень полезная особенность!

Функция AVG

Чтобы получить средний размер пожертвований в 2020 году, можно запустить следующий запрос:

Итоги

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *