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.
Как посчитать среднее значение в sql
Агрегатные функции вычисляют некоторые скалярные значения в наборе строк. В MySQL есть следующие агрегатные функции:
AVG : вычисляет среднее значение
SUM : вычисляет сумму значений
MIN : вычисляет наименьшее значение
MAX : вычисляет наибольшее значение
COUNT : вычисляет количество строк в запросе
Все агрегатные функции принимают в качестве параметра выражение, которое представляет критерий для определения значений. Зачастую, в качестве выражения выступает название столбца, над значениями которого надо проводить вычисления.
Выражения в функциях AVG и SUM должно представлять числовое значение (например, столбец, который хранит числовые значения). Выражение в функциях MIN , MAX и COUNT может представлять числовое или строковое значение или дату.
Все агрегатные функции за исключением COUNT(*) игнорируют значения NULL.
Функция Avg возвращает среднее значение на диапазоне значений столбца таблицы.
Например, пусть есть следующая таблица товаров Products:
Найдем среднюю цену товаров из базы данных:
Для поиска среднего значения в качестве выражения в функцию передается столбец Price. Для получаемого значения устанавливается псевдоним Average_Price, хотя в принципе устанавливать псевдоним необязательно.
На этапе выборки можно применять фильтрацию. Например, найдем среднюю цену для товаров определенного производителя:
Также можно находить среднее значение для более сложных выражений. Например, найдем среднюю сумму всех товаров, учитывая их количество:
Count
Функция Count вычисляет количество строк в выборке. Есть две формы этой функции. Первая форма COUNT(*) подсчитывает число строк в выборке:

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

Данные функции также игнорируют значения NULL и не учитывают их при подсчете.
Функция Sum вычисляет сумму значений столбца. Например, подсчитаем общее количество товаров:
Также вместо имени столбца может передаваться вычисляемое выражение. Например, найдем общую стоимость всех имеющихся товаров:
All и Distinct
По умолчанию все вышеперечисленных пять функций учитывают все строки выборки для вычисления результата. Но выборка может содержать повторяющие значения. Если необходимо выполнить вычисления только над уникальными значениями, исключив из набора значений повторяющиеся данные, то для этого применяется оператор DISTINCT .
По умолчанию вместо DISTINCT применяется оператор ALL , который выбирает все строки:
В данном случае мы видим, что производители могут повторяться в таблице, так как некоторые товары могут иметь одних и тех же производителей. Поэтому чтобы подсчитать количество уникальных производителей, необходимо использовать оператор DISTINCT.
Так как этот оператор неявно подразумевается при отсутствии DISTINCT, то его можно не указывать.
[SQL Basic] What is the average film length? — SQL AVG/MIN/MAX
This time we will look at other queries to manage the numeric data covered in the 9th tutorial. We will use AVG / MIN / MAX to see the average, minimum, and maximum of values.
Here’s a quick review if you need it:
Lesson 3:
SELECT: you’re asking the database to show you something
FROM: you’re giving the database a location to search
WHERE: you’re narrowing down/specifying the location
Lesson 4:
ORDER BY: you’re asking for a specific order for the list to be displayed
Lesson 5:
AND: find information that matches 2 specific categories
OR: find all information that matches at least 1 specified category
IN: find information that matches any of the following categories
Lesson 6:
LIKE: used to find a specific pattern in a column
Lesson 7:
AS: used to rename columns
DISTINCT: used to see unique values
IS NULL: used to see null values
Lesson 9:
COUNT: find the number of rows that matches specified criteria
SUM: find the total sum of a numeric column
AVG: find the average value of a numeric column
MAX: find the largest value of the selected column
MIN: find the smallest value of the selected column
#Table of Contents
Query 1. Finding the average of film length in film table
SELECT AVG (length) FROM film; SELECT AVG (length) AS average, SUM(length)/COUNT(length) AS ‘sum/count’ FROM film;
Query 2. Finding the minimum/maximum value of amount in payment table
SELECT MIN(amount) AS Minimum, MAX(amount) AS Maximum FROM payment;
# AVG
Q 1. Finding the average of film length in the film table
SELECT AVG (column name)
We found the total length of all films in the last tutorial. Now we’re going to find the average value of film length by using AVG . It has the same pattern as COUNT , so you can just write AVG after SELECT and the column name inside the parenthesis. We’re also going to rename the columns to clean things up. Like this:
SELECT AVG(length) AS average FROM film;
This will give you the value of 115.2720.
We can also get the average by using the SUM and COUNT queries we learned last time. Since average is a value that divides the total sum by the quantity, we can write our query like this:
SELECT SUM(length)/COUNT(length)AS ‘sum/count’ FROM film;
The same value of 115.2720 will show up!
Let’s take it one step further and put both statements in the same query for comparison:
SELECT AVG(length) AS average, SUM(length)/COUNT(length)AS ‘sum/count’ FROM film;
There we have it, 2 different ways to get the average value!
# MIN/MAX
Q 2. Finding the minimum/maximum value of the amount column in the payment table
SELECT MIN (column name) SELECT MAX (column name)
Let’s check the payment table to find the minimum/maximum values.
We are using this table for the first time, so take a look at what’s inside the columns like we did in the 8th tutorial: (payment_id, customer_id, staff_id, rental_id, amount, payment_date, last_update)
Or you can use SELECT * FROM payment; for a quick look.
Here you’ll see the value of 2.99, 0.99 and 5.99 in the amount column. Let’s use MIN and MAX to find the minimum/maximum value. Write MIN or MAX after SELECT and the column name inside the parenthesis. Like this:
⏬ SELECT MIN(amount) FROM payment;
⏫ SELECT MAX(amount) FROM payment;
To clean it up and move both values into one table, we can use AS to rename the columns and put minimum and maximum queries in the same query:
SELECT MIN(amount) AS Minimum, MAX(amount) AS Maximum FROM payment;
Now that we have learned how to use AVG , MIN and MAX , let’s try an example question.
# Practice Time
We got an easy one for you this time. Can you find the Average,
Minimum, and Maximum Value of replacement_cost in the Film table?
Try it on your own before you check out the answer below
You can write AVG , MIN , and MAX after SELECT to see those values of replacement_cost in the film table.
Did you get the values 9.99 for minimum and 29.99 for maximum? How about the average? Scroll down to check the answer we’ve provided!
SELECT AVG (replacement_cost), MIN(replacement_cost), MAX(replacement_cost) FROM film;
It’s always good practice to go back and rename your columns for cleaner results. It will help you in the future to sift through the information faster and easier. Try this one:
SELECT AVG (replacement_cost) AS Average_Cost, MIN(replacement_cost) AS Minimum_Cost, MAX(replacement_cost) AS Maximum_Cost FROM film;
AVG SQL
Функция SQL AVG необходимо в случае, если требуется вычислить среднее значение числового столбца в таблице. Среднее значение функция AVG() в SQL вычисляет среднее значение столбца путем суммирования всех значений записей столбца и деления на количество записей.
AVG SQL Примеры
Рассмотрим пример. Допустим в таблице Price есть столбец Price_unit. В этой таблице содержатся 5 записей. Значения полей столбца Price_unit 3, 5, 14, 38 и 83.
Выполним запрос, возвращающий среднее значение столбца Price_unit