What are the different aggregate functions in SQL?


The SQL GROUP BY Statement

The GROUP BY statement groups rows that have the same values into summary rows, like "find the number of customers in each country".

The GROUP BY statement is often used with aggregate functions (COUNT(), MAX(), MIN(), SUM(), AVG()) to group the result-set by one or more columns.

GROUP BY Syntax

SELECT column_name(s)
FROM table_name
WHERE condition
GROUP BY column_name(s)
ORDER BY column_name(s);


Demo Database

Below is a selection from the "Customers" table in the Northwind sample database:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden



SQL GROUP BY Examples

The following SQL statement lists the number of customers in each country:

Example

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

Try it Yourself »

The following SQL statement lists the number of customers in each country, sorted high to low:

Example

SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
ORDER BY COUNT(CustomerID) DESC;

Try it Yourself »


Demo Database

Below is a selection from the "Orders" table in the Northwind sample database:

OrderIDCustomerIDEmployeeIDOrderDateShipperID
10248 90 5 1996-07-04 3
10249 81 6 1996-07-05 1
10250 34 4 1996-07-08 2

And a selection from the "Shippers" table:

ShipperIDShipperName
1 Speedy Express
2 United Package
3 Federal Shipping


GROUP BY With JOIN Example

The following SQL statement lists the number of orders sent by each shipper:

Example

SELECT Shippers.ShipperName, COUNT(Orders.OrderID) AS NumberOfOrders FROM Orders
LEFT JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID
GROUP BY ShipperName;

Try it Yourself »




Improve Article

Save Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    In database management an aggregate function is a function where the values of multiple rows are grouped together as input on certain criteria to form a single value of more significant meaning.

    Various Aggregate Functions

    1) Count()
    2) Sum()
    3) Avg()
    4) Min()
    5) Max()

    Now let us understand each Aggregate function with a example:

    Id     Name     Salary
    -----------------------
    1       A        80
    2       B        40
    3       C        60
    4       D        70
    5       E        60
    6       F        Null
    

    Count():

    Count(*): Returns total number of records .i.e 6.
    Count(salary): Return number of Non Null values over the column salary. i.e 5.
    Count(Distinct Salary):  Return number of distinct Non Null values over the column salary .i.e 4

    Sum():

    sum(salary):  Sum all Non Null values of Column salary i.e., 310
    sum(Distinct salary): Sum of all distinct Non-Null values i.e., 250.

    Avg():

    Avg(salary) = Sum(salary) / count(salary) = 310/5
    Avg(Distinct salary) = sum(Distinct salary) / Count(Distinct Salary) = 250/4

    Min():

    Min(salary):Minimum value in the salary column except NULL i.e., 40.
    Max(salary):Maximum value in the salary i.e., 80.

    Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above

    What are the 5 aggregate functions in SQL?

    Transact-SQL provides the following aggregate functions:.
    APPROX_COUNT_DISTINCT..
    CHECKSUM_AGG..
    COUNT..
    COUNT_BIG..
    GROUPING..
    GROUPING_ID..

    What is an aggregation function and what are different types?

    SQL aggregation function is used to perform the calculations on multiple rows of a single column of a table. It returns a single value. It is also used to summarize the data.

    What is a SQL aggregate function example?

    An SQL aggregate function calculates on a set of values and returns a single value. For example, the average function ( AVG ) takes a list of values and returns the average. Because an aggregate function operates on a set of values, it is often used with the GROUP BY clause of the SELECT statement.

    What are aggregate functions and list down 5 examples?

    AVG Function. This function returns the average value of the numeric column that is supplied as a parameter. ... .
    COUNT Function. The count function returns the number of rows in the result. ... .
    MAX Function. ... .
    SUM Function. ... .
    STDDEV Function. ... .
    VARIANCE Function..