Skip to main content

SQL AVG() Function

Ayesha
EditReport

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

Exampleโ€‹

Find the average price of all products:

SELECT AVG(Price)
FROM Products;

Video Explanationโ€‹

Syntaxโ€‹

SELECT AVG(_column_name_) FROM _table_name_ WHERE _condition_;

Demo Databaseโ€‹

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

ProductIDProductNameSupplierIDCategoryIDUnitPrice
1Chais1110 boxes x 20 bags18
2Chang1124 - 12 oz bottles19
3Aniseed Syrup1212 - 550 ml bottles10
4Chef Anton's Cajun Seasoning2248 - 6 oz jars22
5Chef Anton's Gumbo Mix2236 boxes21.35

Add a WHERE Clauseโ€‹

You can add a WHERE clause to specify conditions:

Exampleโ€‹

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.

Exampleโ€‹

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:

Exampleโ€‹

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:

Exampleโ€‹

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

Done with this topic? Mark it as complete to track your progress.

๐Ÿ’ฌ Discuss this page

Have a question or spot something confusing in "SQL AVG() Function"? Ask below โ€” it's backed by GitHub Discussions, so maintainers get notified like any other GitHub activity.