The ORDER BY
keyword sorts the records in ascending order by default. To sort the records in descending order, use the DESC
keyword.
ORDER BY Syntax
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;
Demo Database
Below is a selection from the "Customers" table in the Northwind sample database:
CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden
ORDER BY Example
The following SQL statement selects all customers from the "Customers" table, sorted ascending by the "Country" and descending by the "CustomerName" column:
In this article, I will show you a few code examples on how you can sort your data in ascending order using the
SELECT columns FROM table
ORDER BY column DESC;
1 clause in SQL.ORDER BY syntax
This is the basic syntax to sort your data in ascending order:
SELECT columns FROM table
ORDER BY column;
If you want to sort by descending order, then you have to use the
SELECT columns FROM table
ORDER BY column DESC;
2 keyword.SELECT columns FROM table
ORDER BY column DESC;
The
SELECT columns FROM table
ORDER BY column DESC;
3 statement in SQL tells the computer to get data from the table.The
SELECT columns FROM table
ORDER BY column DESC;
4 clause in SQL specifies which table we want to list.In this example, we have a table of musicians with the columns of
SELECT columns FROM table
ORDER BY column DESC;
5, SELECT columns FROM table
ORDER BY column DESC;
6, SELECT columns FROM table
ORDER BY column DESC;
7, SELECT columns FROM table
ORDER BY column DESC;
8 and SELECT columns FROM table
ORDER BY column DESC;
9:Right now, this table is sorted automatically by
SELECT columns FROM table
ORDER BY column DESC;
5 in ascending order.If we wanted to sort the
SELECT columns FROM table
ORDER BY column DESC;
6 column in ascending order, then we would have to use this syntax:SELECT * FROM musicians
ORDER BY name;
The
SELECT * FROM musicians
ORDER BY name;
2 character tells the computer to select all of the columns in the table.You can see that the
SELECT * FROM musicians
ORDER BY name;
3 are now sorted alphabetically and the SELECT columns FROM table
ORDER BY column DESC;
5's are no longer in the correct ascending order.If we wanted to sort the data by
SELECT columns FROM table
ORDER BY column DESC;
9, then we can use this syntax.SELECT * FROM musicians
ORDER BY city;
You can also sort multiple columns in ascending order in the same command.
In this new musician example, we can sort the
SELECT columns FROM table
ORDER BY column DESC;
7 and SELECT columns FROM table
ORDER BY column DESC;
9 columns in ascending order.SELECT * FROM musicians
ORDER BY age, city;
We can see there are three 19 year old musicians with their respective cities alphabetically sorted in the table. We can also see the two 38 year old musicians with their cities properly sorted in alphabetical order.
If we wanted to sort some of the data in ascending order and other data in descending order, then we would have to use the
SELECT * FROM musicians
ORDER BY name;
8 and SELECT columns FROM table
ORDER BY column DESC;
2 keywords.In this new musician example, we want to sort the
SELECT columns FROM table
ORDER BY column DESC;
7 column in descending order and the SELECT columns FROM table
ORDER BY column DESC;
8 column in ascending order.Here is the syntax:
SELECT * FROM musicians
ORDER BY age DESC, instrument ASC;
We have to use both the
SELECT * FROM musicians
ORDER BY name;
8 and SELECT columns FROM table
ORDER BY column DESC;
2 keywords next to the column names to tell the computer how to sort the data.The result would look like this:
We can see in our table that both Oscar and Jenny are the oldest. But Oscar is the top result because drums comes before trombone alphabetically.
We see the same situation with Jess and Dave. Even though they are the same age, Jess is higher in the table because flute comes before trumpet alphabetically.
Conclusion
You can sort your table data in ascending order using the
SELECT columns FROM table
ORDER BY column DESC;
1 clause in SQL.SELECT columns FROM table
ORDER BY column;
If you want to sort by descending order then you also have to use the
SELECT columns FROM table
ORDER BY column DESC;
2 keyword.SELECT columns FROM table
ORDER BY column DESC;
The
SELECT * FROM musicians
ORDER BY name;
2 character tells the computer to select all of the columns in the table.SELECT * FROM table
ORDER BY column;
If you want to sort multiple columns in ascending order then you would list the columns you want to sort next to the
SELECT columns FROM table
ORDER BY column DESC;
1 clause.SELECT * FROM table
ORDER BY column1, column2;
If you want to sort some of the data in ascending order and other data in descending order, then you would have to use the
SELECT * FROM musicians
ORDER BY name;
8 and SELECT columns FROM table
ORDER BY column DESC;
2 keywords.SELECT columns FROM table
ORDER BY column DESC;
0That is how to use the
SELECT columns FROM table
ORDER BY column DESC;
1 clause in SQL to sort data in ascending order.ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT
I am a musician and a programmer.
If you read this far, tweet to the author to show them you care. Tweet a thanks
Learn to code for free. freeCodeCamp's open source curriculum has helped more than 40,000 people get jobs as developers. Get started