SQL Tutorial

SQL HOME SQL Intro SQL Syntax SQL Select SQL Select Distinct SQL WHERE SQL Order By SQL AND SQL OR SQL NOT SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min and Max SQL Count SQL Sum SQL Avg SQL Like SQL Wildcards SQL In SQL Between SQL Aliases SQL Joins SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL Self Join SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null Functions SQL Stored Procedures SQL Comments SQL Operators

SQL Database

SQL Create DB SQL Drop DB SQL Backup DB SQL Create Table SQL Drop Table SQL Alter Table SQL Constraints SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL Auto Increment SQL Dates SQL Views SQL Injection SQL Hosting SQL Data Types

SQL References

SQL Keywords MySQL Functions SQL Server Functions MS Access Functions SQL Quick Ref

SQL Examples

SQL Examples SQL Editor SQL Quiz SQL Exercises SQL Bootcamp SQL Certificate

SQL. Lessons for beginners


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:

FROM Products;
Try it Yourself »

Note: NULL values are ignored.


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:

FROM Products
WHERE CategoryID = 1;
Try it Yourself »

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;
Try it Yourself »

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);
Try it Yourself »

Test Yourself With Exercises


Use an SQL function to calculate the average price of all products.

FROM Products;