Skip to main content
Ikki
EditReport

SQL ORDER BY

The ORDER BY keyword is used to sort the result-set in ascending or descending order.

Example

Sort the products by price:

SELECT \* FROM Products  
ORDER BY Price;

Syntax

SELECT _column1_, _column2, ..._ FROM _table_name_ ORDER BY _column1, column2, ..._ ASC|DESC;


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

DESC

The ORDER BY keyword sorts the records in ascending order by default. To sort the records in descending order, use the DESC keyword.

Example

Sort the products from highest to lowest price:

SELECT \* FROM Products  
ORDER BY Price DESC;

Order Alphabetically

For string values the ORDER BY keyword will order alphabetically:

Example

Sort the products alphabetically by ProductName:

SELECT \* FROM Products  
ORDER BY ProductName;

Alphabetically DESC

To sort the table reverse alphabetically, use the DESC keyword:

Example

Sort the products by ProductName in reverse order:

SELECT \* FROM Products  
ORDER BY ProductName DESC;

ORDER BY Several Columns

The following SQL statement selects all customers from the "Customers" table, sorted by the "Country" and the "CustomerName" column. This means that it orders by Country, but if some rows have the same Country, it orders them by CustomerName:

Example

SELECT \* FROM Customers  
ORDER BY Country, CustomerName;

Using Both ASC and DESC

The following SQL statement selects all customers from the "Customers" table, sorted ascending by the "Country" and descending by the "CustomerName" column:

Example

SELECT \* FROM Customers  
ORDER BY Country ASC, CustomerName DESC;

Finished reading? Mark this topic as complete.