Как найти среднее значение в sql
Перейти к содержимому

Как найти среднее значение в sql

  • автор:

Как найти среднее значение в sql

Analytic Functions for information on syntax, semantics, and restrictions

AVG returns average value of expr .

This function takes as an argument any numeric data type or any nonnumeric data type that can be implicitly converted to a numeric data type. The function returns the same data type as the numeric data type of the argument.

Table 2-8 for more information on implicit conversion

If you specify DISTINCT , then you can specify only the query_partition_clause of the analytic_clause . The order_by_clause and windowing_clause are not allowed.

About SQL Expressions for information on valid forms of expr and Aggregate Functions

The following example calculates the average salary of all employees in the hr.employees table:

The following example calculates, for each employee in the employees table, the average salary of the employees reporting to the same manager who were hired in the range just before through just after the employee:

SQL функция AVG

В этом учебном материале вы узнаете, как использовать SQL функцию AVG с синтаксисом и примерами.

Описание

SQL функция AVG используется для возврата среднего значения выражения в операторе SELECT.

Синтаксис

Синтаксис для функции AVG в SQL.

Или синтаксис для функции AVG при группировке результатов по одному или нескольким столбцам.

Параметры или аргумент

Пример — с одним выражением

Например, вы, возможно, захотите узнать, какова средняя стоимость всех товаров, входящих в категорию Clothing.

В этом примере SQL функции AVG выражению AVG(cost) мы указали псевдоним «Average Cost». В результате «Average Cost» будет отображаться как имя поля при возврате набора результатов.

Пример — использование SQL DISTINCT

Вы можете использовать SQL DISTINCT в функции AVG. Например, приведенная ниже инструкция SELECT возвращает совокупную среднюю стоимость уникальных значений стоимости, где категория — Clothing.

AVG SQL

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

AVG SQL Примеры

Рассмотрим пример. Допустим в таблице Price есть столбец Price_unit. В этой таблице содержатся 5 записей. Значения полей столбца Price_unit 3, 5, 14, 38 и 83.

Выполним запрос, возвращающий среднее значение столбца Price_unit

Группировка

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

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

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

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

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

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

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

Выражения в функциях AVG и SUM должно представлять числовое значение. Выражение в функциях MIN , MAX и COUNT может представлять числовое или строковое значение или дату.

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

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

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

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

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

Функция avg в T-SQL

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

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

Count

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

Функция count в T-SQL в MS SQL Server

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

Min и Max

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

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

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

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

Функция SUM в T-SQL

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

All и Distinct

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

По умолчанию вместо DISTINCT применяется оператор ALL , который выбирает все строки:

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

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

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