ORDER BY

Met ORDER BY is het mogelijk om te resultset te sorteren op een bepaalde kolom. De sortering kan zowel oplopend (ASC) als aflopend (DESC) worden gesorteerd. De syntax voor ORDER BY ziet er als volgt uit.

SELECT * FROM Tabelnaam ORDER BY kolomnaam ASC|DESC

Het is ook mogelijk om op meerdere kolommen te sorteren. Er wordt dan eerst gesorteerd op de eerste kolom, vervolgens wordt er gesorteerd op de tweede kolom.

SELECT * FROM Tabelnaam ORDER BY kolomnaam1 ASC|DESC, kolomnaam2 ASC|DESC

ORDER BY in de praktijk

De volgende dataset is de inhoud van de tabel Persoon.

id, voornaam, achternaam, woonplaats
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'

Als we de gegevens oplopend op achternaam willen sorteren kunnen we de volgende query gebruiken:

SELECT * FROM Persoon ORDER BY achternaam ASC
Resultaat
2, 'Petra', 'de klomp', 'Nijmegen'
1, 'Henk', 'Janssen', 'Amsterdam'
4, 'Mieke', 'Sterk', 'Amsterdam'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'

Uiteraard kunnen we ook aflopend op achternaam sorteren:

SELECT * FROM Persoon ORDER BY achternaam DESC
Resultaat
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
4, 'Mieke', 'Sterk', 'Amsterdam'
1, 'Henk', 'Janssen', 'Amsterdam'
2, 'Petra', 'de klomp', 'Nijmegen'

We gaan nu sorteren op de woonplaats oplopend en de achternaam aflopend.

SELECT * FROM Persoon ORDER BY woonplaats ASC, achternaam DESC
Resultaat
4, 'Mieke', 'Sterk', 'Amsterdam'
1, 'Henk', 'Janssen', 'Amsterdam'
3, 'Sjoerd', 'Vermeulen', 'Maastricht'
2, 'Petra', 'de klomp', 'Nijmegen'