Ga naar inhoud

Header

Sorteren met ORDER BY

Introductie

Met ORDER BY kun je tabellen oplopend of aflopend sorteren.

  • Dit kan voor verschillende datatypes, zoals getallen, tekst, datums.

  • Standaard wordt oplopend gesorteerd

    • Van klein naar groot.
    • Van a tot z.
    • Van oud naar nieuw.
  • Je kunt op 1 kolom sorteren, maar ook op meerdere tegelijk.




1. Sorteren van tekst

In onderstaand voorbeeld gebruiken we ORDER BY:

  • Om oplopend op de naam van een film te sorteren.
SELECT
  *
FROM
  movies
ORDER BY
  name;
id name year rank
10920 Aliens 1986 8.2
17173 Animal House 1978 7.5
18979 Apollo 13 1995 7.5
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat oplopend, van a tot z, wordt gesorteerd.




2. Sorteren van getallen

In onderstaand voorbeeld gebruiken we ORDER BY:

  • Om oplopend op het jaartal van een film te sorteren.
SELECT
  *
FROM
  movies
ORDER BY
  year;
id name year rank
130128 Godfather, The 1972 9
313459 Star Wars 1977 8.8
17173 Animal House 1978 7.5
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat oplopend, van klein naar groot, wordt gesorteerd.




3. Op- of aflopend sorteren

We hebben gezien dat standaard oplopend wordt gesorteerd.

  • Dit is niet altijd wenselijk.
  • Soms wil je aflopend sorteren.
  • Hiervoor kun je gebruikmaken van keyword DESC.
  • Descending staat voor aflopend: DESC.
  • Ascending staat voor oplopend: ASC.
    • Dit is de standaard.




3.1. Oplopend sorteren met keyword ASC

In onderstaand voorbeeld gebruiken we ORDER BY en ASC:

  • Om oplopend op de het jaartal van een film te sorteren.
SELECT
  *
FROM
  movies
ORDER BY
  year ASC;
id name year rank
130128 Godfather, The 1972 9
313459 Star Wars 1977 8.8
17173 Animal House 1978 7.5
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat oplopend, van klein naar groot, wordt gesorteerd.
  • Dit is de standaard, we hadden hetzelfde resultaat gekregen zonder keyword ASC.




3.2. Aflopend sorteren met keyword DESC

In onderstaand voorbeeld gebruiken we ORDER BY en DESC:

  • Om aflopend op de het jaartal van een film te sorteren.
SELECT
  *
FROM
  movies
ORDER BY
  year DESC;
id name year rank
30959 Batman Begins 2005 (NULL)
124110 Garden State 2004 8.3
176712 Kill Bill: Vol. 2 2004 8.2
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat aflopend, van groot naar klein, wordt gesorteerd.




4. Op meerdere kolommen sorteren

We weten nu hoe we op- of aflopend kunnen sorteren, op één kolom.

  • Je kunt ook op meerdere kolommen sorteren.
  • Daarbij kun je zowel op- als aflopend sorteren.
  • Je gebruikt een komma , tussen de kolomnamen.




4.1. Standaard (oplopend) sorteren op meerdere kolommen

In onderstaand voorbeeld gebruiken we ORDER BY en sorteren we op meerdere kolommen:

  • We sorteren eerst op het cijfer van de film: kolom rank.
  • Vervolgens sorteren we op het jaartal van de film: kolom year.
SELECT
  *
FROM
  movies
ORDER BY
  rank,
  year;
id name year rank
147603 Hollow Man 2000 5.3
116907 Footloose 1984 5.8
344203 UHF 1989 6.6
... ... ... ...
17173 Animal House 1978 7.5
111813 Few Good Men, A 1992 7.5
18979 Apollo 13 1995 7.5
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat eerst oplopend op het rank is gesorteerd.
  • En vervolgens oplopend op year is gesorteerd.




4.2. Specifiek sorteren op meerdere kolommen

In onderstaand voorbeeld gebruiken we ORDER BY en sorteren we op meerdere kolommen, met keywords ASC en DESC:

  • We sorteren eerst oplopend (ASC) op het cijfer van de film: kolom rank.
  • Vervolgens sorteren we aflopend (DESC) op het jaartal van de film: kolom year.
SELECT
  *
FROM
  movies
ORDER BY
  rank ASC,
  year DESC;
id name year rank
147603 Hollow Man 2000 5.3
116907 Footloose 1984 5.8
344203 UHF 1989 6.6
... ... ... ...
238072 Ocean”s Eleven 2001 7.5
254943 Pi 1998 7.5
18979 Apollo 13 1995 7.5
... ... ... ...
Columns: 4
Rows: 36
  • Je ziet dat eerst oplopend op het rank is gesorteerd.
  • En vervolgens aflopend op year is gesorteerd.




Samenvatting

  • Met ORDER BY kun je op kolommen sorteren.
    • Standaard gebeurt dit oplopend (van klein naar groot).
    • Bijvoorbeeld:
SELECT
  *
FROM
  movies
ORDER BY
  name;
  • Met keywords kun je op- of aflopend sorteren.
    • Descending staat voor aflopend: DESC.
    • Ascending staat voor oplopend: ASC.
    • Bijvoorbeeld:
SELECT
  *
FROM
  movies
ORDER BY
  year ASC;
  • Je kunt op meerdere kolommen sorteren.
    • Daarbij gebruik je een komma , tussen de kolomnamen.
    • Bijvoorbeeld:
SELECT
  *
FROM
  movies
ORDER BY
  rank ASC,
  year DESC;