> For the complete documentation index, see [llms.txt](https://gyansetu-sql.gitbook.io/sql-programming/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://gyansetu-sql.gitbook.io/sql-programming/sql-select/untitled-2.md).

# SQL GROUP BY Statement

### The SQL GROUP BY Statement

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

```sql
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:<br>

![](/files/-LSc4-USj4iuix88FXAL)

### SQL GROUP BY Examples

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

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

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

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

Demo Database

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

![](/files/-LSc4ii9oyG5ECvKQSE6)

\
And a selection from the "Shippers" table:<br>

![](/files/-LSc4sGWogEZ1uCutAho)

### GROUP BY With JOIN Example

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

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

<br>
