- Wanneer we de records willen sorteren op basis van de kolommen die zijn opgeslagen in de tabellen van de SQL-database, overwegen we het gebruik van de ORDER BY-clausule in SQL.
- De ORDER BY-clausule in SQL helpt ons de records te sorteren op basis van de specifieke kolom van een tabel. Dit betekent dat in eerste instantie alle waarden die zijn opgeslagen in de kolom waarop we de ORDER BY-clausule toepassen, worden gesorteerd. Vervolgens worden de overeenkomstige kolomwaarden weergegeven in dezelfde volgorde als de waarden die we in de eerdere stap hebben verkregen.
- Met behulp van de ORDER BY-clausule kunnen we de records in oplopende of aflopende volgorde sorteren, afhankelijk van onze vereisten. De records worden in oplopende volgorde gesorteerd wanneer het trefwoord ASC wordt gebruikt met de clausule ORDER by. Het trefwoord DESC sorteert de records in aflopende volgorde . Als er achter de kolom waarop we de records moeten sorteren geen trefwoord staat vermeld, dan wordt er in dat geval standaard oplopend gesorteerd.
Voordat we de query's schrijven voor het sorteren van de records, moeten we eerst de syntaxis begrijpen.
Syntaxis om de records in aflopende volgorde te sorteren:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Laten we meer over dit onderwerp onderzoeken met behulp van voorbeelden. We zullen de MySQL-database gebruiken voor het schrijven van de queries in voorbeelden.
Stel dat we een klantentabel hebben met de volgende records:
ID kaart | NAAM | LEEFTIJD | ADRES | SALARIS |
---|---|---|---|---|
1 | Himani Gupta | eenentwintig | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
3 | Ajeet Bhargav | Vier vijf | Meerut | 65000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
5 | Balwant Singh | Vier vijf | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
10 | Sahil Sjeik | 35 | Aurangabad | 68800 |
Voorbeeld 1:
Schrijf een query om de records te sorteren in aflopende volgorde van de klantnamen die zijn opgeslagen in de klantentabel.
Vraag:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Naam' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
c programmareeksarray
U krijgt de volgende uitvoer:
ID kaart | NAAM | LEEFTIJD | ADRES | SALARIS |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
10 | Sahil Sjeik | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | eenentwintig | Modi Nagar | 22000 |
5 | Balwant Singh | Vier vijf | Varanasi | 36000 |
3 | Ajeet Bhargav | Vier vijf | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
Alle records in de klantentabel worden weergegeven in aflopende volgorde van de naam van de klant.
Voorbeeld 2:
Schrijf een query om de records te sorteren in aflopende volgorde van de adressen die zijn opgeslagen in de klantentabel.
Vraag:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Adres' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
ID kaart | NAAM | LEEFTIJD | ADRES | SALARIS |
---|---|---|---|---|
5 | Balwant Singh | Vier vijf | Varanasi | 36000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
1 | Himani Gupta | eenentwintig | Modi Nagar | 22000 |
3 | Ajeet Bhargav | Vier vijf | Meerut | 65000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sjeik | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Alle records in de klantentabel worden weergegeven in aflopende volgorde van het adres van de klant.
Voorbeeld 3:
Schrijf een query om de records te sorteren in aflopende volgorde van het klantensalaris dat is opgeslagen in de klantentabel.
Vraag:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Salaris' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
ID kaart | Naam | Leeftijd | Adres | Salaris |
---|---|---|---|---|
10 | Sahil Sjeik | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | Vier vijf | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
5 | Balwant Singh | Vier vijf | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | eenentwintig | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
Alle records in de klantentabel worden weergegeven in aflopende volgorde van het salaris van de klant.
Voorbeeld 4:
Schrijf een query om de records te sorteren in aflopende volgorde van de leeftijd van de klant die is opgeslagen in de klantentabel.
Vraag:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Age' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
ID kaart | Naam | Leeftijd | Adres | Salaris |
---|---|---|---|---|
3 | Ajeet Bhargav | Vier vijf | Meerut | 65000 |
5 | Balwant Singh | Vier vijf | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sjeik | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
1 | Himani Gupta | eenentwintig | Modi Nagar | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Alle records in de klantentabel worden weergegeven in aflopende volgorde van de leeftijd van de klant.
python soort tupel
Stel je voor dat we nog een tabel hebben met de naam agenten, met de volgende records:
HULP | Naam | Werkgebied | Winst_percentage | Contact nummer | Salaris |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
4 | Shivani Meer | Pune | 3 | 8894236789 | 35500 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
7 | zei Shweta | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anoesjka Tripathi | Op je vingers | 9 | 8909124326 | 38000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
Voorbeeld 1:
Schrijf een query om de records te sorteren in aflopende volgorde van de agentnamen die zijn opgeslagen in de agententabel.
Vraag:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Naam' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
HULP | Naam | Werkgebied | Winst_percentage | Contact nummer | Salaris |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | zei Shweta | Chandigarh | 6 | 8898786453 | 31670 |
4 | Shivani Meer | Pune | 3 | 8894236789 | 35500 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
9 | Anoesjka Tripathi | Op je vingers | 9 | 8909124326 | 38000 |
Alle records in de agententabel worden weergegeven in aflopende volgorde van de naam van de agent.
Voorbeeld 2:
Schrijf een query om de records te sorteren in aflopende volgorde van het salaris van de agent dat is opgeslagen in de agententabel.
Vraag:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Salaris' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
HULP | Naam | Werkgebied | Winst_percentage | Contact nummer | Salaris |
---|---|---|---|---|---|
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
9 | Anoesjka Tripathi | Op je vingers | 9 | 8909124326 | 38000 |
4 | Shivani Meer | Pune | 3 | 8894236789 | 35500 |
7 | zei Shweta | Chandigarh | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
Alle records in de agententabel worden weergegeven in aflopende volgorde van het salaris van de agent.
Voorbeeld 3:
Schrijf een query om de records te sorteren in aflopende volgorde van het werkgebied van de agent, opgeslagen in de agententabel.
Vraag:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'WorkArea' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
HULP | Naam | Werkgebied | Winst_percentage | Contact nummer | Salaris |
---|---|---|---|---|---|
9 | Anoesjka Tripathi | Op je vingers | 9 | 8909124326 | 38000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Shivani Meer | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
7 | zei Shweta | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Alle records in de agententabel worden weergegeven in aflopende volgorde van het werkgebied van de agent.
Voorbeeld 4:
Schrijf een query om de records te sorteren in aflopende volgorde van het winstpercentage van de agent dat is opgeslagen in de agententabel.
Vraag:
voor lus in bash
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Hier wordt in een SELECT-query een ORDER BY-clausule toegepast op de kolom 'Profit_Percent' om de records te sorteren. Het trefwoord DESC sorteert de records in aflopende volgorde.
U krijgt de volgende uitvoer:
HULP | Naam | Werkgebied | Winst_percentage | Contact nummer | Salaris |
---|---|---|---|---|---|
9 | Anoesjka Tripathi | Op je vingers | 9 | 8909124326 | 38000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
7 | zei Shweta | Chandigarh | 6 | 8898786453 | 31670 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
4 | Shivani Meer | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
Alle records in de agententabel worden weergegeven in aflopende volgorde van het winstpercentage van de agent.