How to Order By Multiple Columns in SQL
How can we order by two or more columns in MySQL, or any other SQL database framework?
We can simply list out the columns after the ORDER BY
.
ORDER BY column1, column2
This will sort everything by column1
. If column1
is the same for two rows, then it’ll sort by column2
.
Descending Order with Two Columns
We can also sort in descending order for any of the columns.
ORDER BY column1 DESC, column2
Example: Ordering by Two Columns
Suppose we have this table dogs
.
dog | val |
---|---|
corgi | 5 |
pug | 1 |
husky | 5 |
shih tzu | 10 |
Let’s execute the query below.
SELECT * FROM dogs
ORDER BY val DESC, dog ASC
The resulting set will look like this.
dog | val |
---|---|
shih tzu | 10 |
corgi | 5 |
husky | 5 |
pug | 1 |