- ORDER BY is een clausule in SQL die wordt gebruikt met de SELECT-query om de records in oplopende of aflopende volgorde uit een tabel op te halen.
- Net zoals we het gehele getal en de tekenreekswaarden sorteren die zijn opgeslagen in de kolom van de tabellen, kunnen we op dezelfde manier de datums sorteren die zijn opgeslagen in de kolom van de SQL-tabel.
- Alle records worden standaard in oplopende volgorde gesorteerd. Om de records in aflopende volgorde te sorteren, wordt het trefwoord DESC gebruikt.
Laten we enkele praktische voorbeelden bekijken om dit concept duidelijker te begrijpen. We zullen de MySQL-database gebruiken voor het schrijven van alle queries.
Bedenk dat we een tabel hebben gemaakt met de naam werknemers in de MySQL-database met de volgende gegevens:
ID kaart | Naam | Salaris | Deelname_datum | Geboren |
---|---|---|---|---|
1 | Rohit Meer | 50000 | 08-02-2020 | 28/01/1991 18:06:08 |
2 | Kunal Mohit | 34000 | 01-01-2021 | 15-05-1990 19:10:00 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 20/02/1983 12:18:45 |
4 | Anant Desai | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 21/03/1999 02:14:56 |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 02-08-1998 13:00:01 |
Voorbeeld 1:
Schrijf een zoekopdracht om alle gegevens van medewerkers weer te geven, gerangschikt in oplopende volgorde van hun geboortedatum.
Vraag:
mysql> SELECT *FROM employees ORDER BY DOB;
Omdat we de records in oplopende volgorde van de geboortedatum van medewerkers wilden sorteren, hebben we op de kolom 'GEBONDEN' de clausule ORDER BY toegepast.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Deelname_datum | Geboren |
---|---|---|---|---|
4 | Anant Desai | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 20/02/1983 12:18:45 |
2 | Kunal Mohit | 34000 | 01-01-2021 | 15-05-1990 19:10:00 |
1 | Rohit Meer | 50000 | 08-02-2020 | 28/01/1991 18:06:08 |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 02-08-1998 13:00:01 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 21/03/1999 02:14:56 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van de DOB.
Voorbeeld 2:
Schrijf een zoekopdracht om alle details van werknemers weer te geven, gerangschikt in aflopende volgorde van hun indiensttredingsdatum.
Vraag:
mysql> SELECT *FROM employees ORDER BY Joining_Date DESC;
Omdat we de records wilden sorteren in aflopende volgorde van de indiensttredingsdatum van medewerkers, hebben we in de kolom 'Aansluitingsdatum' de clausule ORDER BY met het trefwoord DESC toegepast.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Deelname_datum | Geboren |
---|---|---|---|---|
6 | Bhavesh Jain | 37000 | 03-07-2021 | 02-08-1998 13:00:01 |
2 | Kunal Mohit | 34000 | 01-01-2021 | 15-05-1990 19:10:00 |
1 | Rohit Meer | 50000 | 08-02-2020 | 28/01/1991 18:06:08 |
4 | Anant Desai | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 20/02/1983 12:18:45 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 21/03/1999 02:14:56 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in aflopende volgorde van de toetredingsdatums.
Voorbeeld 3:
Schrijf een zoekopdracht om alle gegevens van werknemers weer te geven, gerangschikt in oplopende volgorde van hun geboortejaar.
Vraag:
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%Y') AS Year_of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%Y');
Omdat we de records in oplopende volgorde van het geboortejaar van medewerkers wilden sorteren, hebben we de ORDER BY-clausule toegepast. De functie DATE_FORMAT () wordt toegepast op de kolom DOB met de parameter '%Y' om alleen het jaar uit 'DOB' te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Deelname_datum | Geboortejaar |
---|---|---|---|---|
4 | Anant Desai | 59000 | 27-08-2018 | 1978 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 1983 |
2 | Kunal Mohit | 34000 | 01-01-2021 | 1990 |
1 | Rohit Meer | 50000 | 08-02-2020 | 1991 |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 1998 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 1999 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van het geboortejaar van de werknemer.
Voorbeeld 4:
Schrijf een zoekopdracht om alle gegevens van werknemers weer te geven, gerangschikt in aflopende volgorde van hun geboorteuur.
Vraag:
collecties in Java
mysql> SELECT ID, Name, Salary, Joining_Date, DATE_FORMAT (DOB, '%H') AS Hour_Of_Birth FROM employees ORDER BY DATE_FORMAT (DOB, '%H') DESC;
Omdat we de records wilden sorteren in aflopende volgorde van het geboorteuur van medewerkers, hebben we de ORDER BY-clausule met het trefwoord DESC toegepast. De functie DATE_FORMAT () wordt toegepast op de kolom DOB met de parameter '%H' om alleen het geboorteuur uit de kolom 'DOB' te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Deelname_datum | Uur_van_geboorte |
---|---|---|---|---|
2 | Kunal Mohit | 34000 | 01-01-2021 | 19 |
1 | Rohit Meer | 50000 | 08-02-2020 | 18 |
4 | Anant Desai | 59000 | 27-08-2018 | vijftien |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 13 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 12 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 02 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in aflopende volgorde van het geboorteuur van de werknemer.
Voorbeeld 5:
Schrijf een zoekopdracht om alle gegevens van werknemers weer te geven, gerangschikt in oplopende volgorde van hun jaar van indiensttreding.
Vraag:
mysql> SELECT ID, Name, Salary, DOB, DATE_FORMAT (Joining_Date, '%Y') AS Year_Of_Joining FROM employees ORDER BY DATE_FORMAT (Joining_Date, '%Y');
Omdat we de records in oplopende volgorde van het indiensttredingsjaar van de medewerkers wilden sorteren, hebben we de ORDER BY-clausule toegepast. De functie DATE_FORMAT () wordt toegepast op de kolom Joining_Date met de parameter '%Y' om alleen het jaar uit 'Joining_Date' te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Jaar_van_lidmaatschap | Geboren |
---|---|---|---|---|
5 | Krishna Sharma | 48000 | 2010 | 21/03/1999 02:14:56 |
3 | Saurabh Jha | 61000 | 2015 | 20/02/1983 12:18:45 |
4 | Anant Desai | 59000 | 2018 | 29-06-1978 15:45:13 |
1 | Rohit Meer | 50000 | 2020 | 28/01/1991 18:06:08 |
2 | Kunal Mohit | 34000 | 2021 | 15-05-1990 19:10:00 |
6 | Bhavesh Jain | 37000 | 2021 | 02-08-1998 13:00:01 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van het indiensttredingsjaar van de werknemers.
Voorbeeld 6:
Schrijf een query om alle gegevens van werknemers weer te geven, gerangschikt in aflopende volgorde van de indiensttredingsdag van werknemers.
Vraag:
mysql> SELECT ID, Name, Salary, DAY (Joining_Date) AS Day_Of_Joining, DOB FROM employees ORDER BY DAY (Joining_Date) DESC;
Omdat we de records wilden sorteren in aflopende volgorde van de indiensttredingsdag van werknemers, hebben we de ORDER BY-clausule toegepast met het trefwoord DESC. De functie DAG () wordt toegepast op de kolom 'Joining_Date' om alleen de dag van deelname uit Joining_Date te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Dag_van_lidmaatschap | Geboren |
---|---|---|---|---|
4 | Anant Desai | 59000 | 27 | 29-06-1978 15:45:13 |
5 | Krishna Sharma | 48000 | 23 | 21/03/1999 02:14:56 |
1 | Rohit Meer | 50000 | 8 | 28/01/1991 18:06:08 |
6 | Bhavesh Jain | 37000 | 3 | 02-08-1998 13:00:01 |
2 | Kunal Mohit | 34000 | 1 | 15-05-1990 19:10:00 |
3 | Saurabh Jha | 61000 | 1 | 20/02/1983 12:18:45 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in aflopende volgorde van de indiensttredingsdag van werknemers.
Voorbeeld 7:
Schrijf een query om alle gegevens van medewerkers weer te geven, gerangschikt in oplopende volgorde van de geboortedag van medewerkers.
Vraag:
mysql> SELECT ID, Name, Salary, Joining_Date, DAY (DOB) AS Day_Of_Birth FROM employees ORDER BY DAY (DOB);
Omdat we de records in oplopende volgorde van de geboortedag van medewerkers wilden sorteren, hebben we de ORDER BY-clausule toegepast. De functie DAG () wordt toegepast op de kolom 'Geboortedatum' om alleen de geboortedag uit de geboortedatum te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Jaar_van_lidmaatschap | Geboortedatum |
---|---|---|---|---|
6 | Bhavesh Jain | 37000 | 03-07-2021 | 2 |
2 | Kunal Mohit | 34000 | 01-01-2021 | vijftien |
3 | Saurabh Jha | 61000 | 01-05-2015 | twintig |
5 | Krishna Sharma | 48000 | 23-10-2010 | eenentwintig |
1 | Rohit Meer | 50000 | 08-02-2020 | 28 |
4 | Anant Desai | 59000 | 27-08-2018 | 29 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van de geboortedag van de werknemer.
Voorbeeld 8:
runa's in powershell
Schrijf een query om alle gegevens van werknemers weer te geven, gerangschikt in oplopende volgorde van de geboortemaand van de werknemer.
Vraag:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (DOB);
ID kaart | Naam | Salaris | Deelname_datum | Geboren |
---|---|---|---|---|
1 | Rohit Meer | 50000 | 08-02-2020 | 28/01/1991 18:06:08 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 20/02/1983 12:18:45 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 21/03/1999 02:14:56 |
2 | Kunal Mohit | 34000 | 01-01-2021 | 15-05-1990 19:10:00 |
4 | Anant Desai | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 02-08-1998 13:00:01 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van de geboortemaand van de werknemer.
Voorbeeld 9:
Schrijf een zoekopdracht om alle gegevens van werknemers weer te geven, gerangschikt in oplopende volgorde van de maand waarin de werknemer in dienst is getreden.
Vraag:
mysql> SELECT ID, Name, Salary, Joining_Date, DOB FROM employees ORDER BY MONTH (Joining_Date);
Omdat we de records in oplopende volgorde van de aangesloten maand van werknemers wilden sorteren, hebben we de ORDER BY-clausule toegepast. De functie MAAND () wordt toegepast op de kolom 'Joining_Date' om alleen de toetredingsmaand uit Joining_Date te extraheren.
U krijgt de volgende uitvoer:
ID kaart | Naam | Salaris | Deelname_datum | Geboren |
---|---|---|---|---|
2 | Kunal Mohit | 34000 | 01-01-2021 | 15-05-1990 19:10:00 |
1 | Rohit Meer | 50000 | 08-02-2020 | 28/01/1991 18:06:08 |
3 | Saurabh Jha | 61000 | 01-05-2015 | 20/02/1983 12:18:45 |
6 | Bhavesh Jain | 37000 | 03-07-2021 | 02-08-1998 13:00:01 |
4 | Anant Desai | 59000 | 27-08-2018 | 29-06-1978 15:45:13 |
5 | Krishna Sharma | 48000 | 23-10-2010 | 21/03/1999 02:14:56 |
Uit de resultaten van de bovenstaande zoekopdracht blijkt dat de records worden weergegeven in oplopende volgorde van de maand waarin de werknemer in dienst is getreden.