avg что такое в sql

Функция Avg

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

Синтаксис

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

Примечания

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

Функция Avg не учитывает поля со значением Null.

Avg можно использовать в выражении запроса и в свойстве SQL объекта QueryDef или при создании набор записей на основе SQL запроса.

Примеры

SELECT Avg([UnitPrice]) AS Expr1 FROM ProductSales;

Возвращает среднее значение всех значений поля «Цена» из таблицы «ProductSales» и отображает его в столбце «Вырасть1».

SELECT Avg([SalePrice]) AS AvgSalePrice, Avg([Discount]) AS AvgDiscount FROM ProductSales;

Возвращает среднее значение полей «ЦенаПродажи» и «Скидка» из таблицы ProductSales. Результаты отображаются в столбце «AvgSalePrice» и «AvgDiscount» соответственно, возвращая среднее значение всех продаж «SalePrice», где проданное «Количество» больше 10. Результаты отображаются в столбце «AvgSalePrice».

SELECT Abs(Avg([Discount])) AS AbsAverageDiscount FROM ProductSales;

Возвращает абсолютную величину среднего значения поля Discount и отображает в столбце «AbsAverageDiscount».

Источник

Функция Avg (Microsoft Access SQL)

Область применения: Access 2013 | Access 2016

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

Синтаксис

Avg (expr)

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

Примечания

Среднее значение, рассчитанное Avg, — это арифметическое значение (сумма значений, разделенных на количество значений). Например, можно использовать Avg для расчета средней стоимости груза.

Функция Avg не включает в расчет ни одного Null-полей.

Avg можно использовать в выражении запроса SQL свойстве объекта QueryDef или при создании объекта Recordset на основе SQL запроса.

Пример

В этом примере вызывается процедура EnumFields, которую можно найти в примере оператора SELECT.

См. также

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

AVG (Transact-SQL)

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

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, определяет порядок, в котором эта инструкция отображает строки запроса.

Источник

Агрегатные функции в 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 году, можно запустить следующий запрос:

Итоги

Источник

AVG (Transact-SQL)

This function returns the average of the values in a group. It ignores null values.

avg что такое в sqlTransact-SQL Syntax Conventions

Syntax

To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

Arguments

ALL
Applies the aggregate function to all values. ALL is the default.

DISTINCT
Specifies that AVG operates only on one unique instance of each value, regardless of how many times that value occurs.

expression
An expression of the exact numeric or approximate numeric data type category, except for the bit data type. Aggregate functions and subqueries are not permitted.

OVER ( [ partition_by_clause ] order_by_clause)
partition_by_clause divides the result set produced by the FROM clause into partitions to which the function is applied. If not specified, the function treats all rows of the query result set as a single group. The order_by_clause determines the logical order in which the operation is performed. The order_by_clause is required. For more information, see OVER Clause (Transact-SQL).

Return types

The evaluated result of expression determines the return type.

Expression resultReturn type
tinyintint
smallintint
intint
bigintbigint
decimal category (p, s)decimal(38, max(s,6))
money and smallmoney categorymoney
float and real categoryfloat

Remarks

If the data type of expression is an alias data type, the return type is also of the alias data type. However, if the base data type of the alias data type is promoted, for example from tinyint to int, the return value will take the promoted data type, and not the alias data type.

AVG () computes the average of a set of values by dividing the sum of those values by the count of nonnull values. If the sum exceeds the maximum value for the data type of the return value, AVG() will return an error.

AVG is a deterministic function when used without the OVER and ORDER BY clauses. It is nondeterministic when specified with the OVER and ORDER BY clauses. For more information, see Deterministic and Nondeterministic Functions.

Examples

A. Using the SUM and AVG functions for calculations

This example calculates the average vacation hours, and the sum of sick leave hours, that the vice presidents of Adventure Works Cycles have used. Each of these aggregate functions produces a single summary value for all the retrieved rows. The example uses the AdventureWorks2012 database.

Here is the result set.

B. Using the SUM and AVG functions with a GROUP BY clause

When used with a GROUP BY clause, each aggregate function produces a single value covering each group, instead of a single value covering the whole table. The following example produces summary values for each sales territory in the AdventureWorks2012 database. The summary lists the average bonus received by the sales people in each territory, and the sum of year-to-date sales for each territory.

Here is the result set.

C. Using AVG with DISTINCT

This statement returns the average list price of products in the AdventureWorks2012 database. Through the use of DISTINCT, the calculation considers only unique values.

Here is the result set.

D. Using AVG without DISTINCT

Without DISTINCT, the AVG function finds the average list price of all products in the Product table in the AdventureWorks2012 database, including any duplicate values.

Here is the result set.

E. Using the OVER clause

Here is the result set.

In this example, the OVER clause does not include PARTITION BY. This means that the function will apply to all rows returned by the query. The ORDER BY clause specified in the OVER clause determines the logical order to which the AVG function applies. The query returns a moving average of sales, by year, for all sales territories specified in the WHERE clause. The ORDER BY clause specified in the SELECT statement determines the order in which the SELECT statement displays the rows of the query.

Источник

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

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