019 SQL AVG

The current webpage explains the SQL AVG() function. Here’s a concise summary:

1


SQL AVG() Function

The SQL AVG() Function

The AVG() function returns the average value of a numeric column.

Find the average price of all products:

SELECT AVG(Price)  
FROM Products;

Note: NULL values are ignored.

Syntax

SELECT AVG(column_name)
FROM table_name
WHERE condition;

Demo Database

Below is a selection from the Products table used in the examples:

ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's Cajun Seasoning 2 2 48 - 6 oz jars 22
5 Chef Anton's Gumbo Mix 2 2 36 boxes 21.35

Add a WHERE Clause

You can add a WHERE clause to specify conditions:

Return the average price of products in category 1:

SELECT AVG(Price)  
FROM Products  
WHERE CategoryID = 1;

Use an Alias

Give the AVG column a name by using the AS keyword.

Name the column "average price":

SELECT AVG(Price) AS [average price]  
FROM Products;

Higher Than Average

To list all records with a higher price than average, we can use the AVG() function in a sub query:

Return all products with a higher price than the average price:

SELECT * FROM Products  
WHERE price > (SELECT AVG(price) FROM Products);

Use AVG() with GROUP BY

Here we use the AVG() function and the GROUP BY clause, to return the average price for each category in the Products table:

SELECT AVG(Price) AS AveragePrice, CategoryID  
FROM Products  
GROUP BY CategoryID;