sql >> Database >  >> RDS >> Database

Hoe te bestellen op twee kolommen in SQL?

Probleem:

U moet records uit een bepaalde tabel weergeven, gesorteerd op twee kolommen.

Voorbeeld:

Onze database heeft een tabel met de naam employee met de volgende kolommen:id , first_name , last_name , en salary .

id voornaam achternaam salaris
1 Lisa Ulman 3000
2 Ada Müller 2400
3 Thomas Groen 2400
4 Michael Müller 3000
5 Maria Groen 2400

Laten we alle informatie voor elke werknemer weergeven, maar de records eerst sorteren op salaris in aflopende volgorde en vervolgens op achternaam in oplopende volgorde.

Oplossing:

SELECT id,  
  first_name,
  last_name,
  salary
FROM employee
ORDER BY salary DESC, last_name;

Deze zoekopdracht retourneert gesorteerde records volgens twee kolommen:salaris en achternaam .

<
id voornaam achternaam salaris
4 Michael M uller 3000
1 Lisa U lman 3000
3 Thomas G reen 2400
5 Maria G reen 2400
2 Ada M uller 2400

Discussie:

Als u records uit een tabel wilt selecteren, maar ze wilt zien gesorteerd op twee kolommen, kunt u dat doen met ORDER BY . Deze clausule komt aan het einde van uw SQL-query.

Na de ORDER BY trefwoord, voeg dan de naam toe van de kolom waarop u eerst records wilt sorteren (in ons voorbeeld salaris). Voeg dan, na een komma, de tweede kolom toe (in ons voorbeeld last_name ). U kunt de sorteervolgorde (oplopend of aflopend) voor elke kolom afzonderlijk wijzigen. Als u oplopende volgorde (van laag naar hoog) wilt gebruiken, kunt u de ASC . gebruiken trefwoord; dit trefwoord is echter optioneel, omdat dat de standaardvolgorde is als er geen is opgegeven. Als u aflopende volgorde wilt gebruiken, typt u de DESC trefwoord na de juiste kolom (in het voorbeeld gebruikten we aflopende volgorde voor het salary kolom).

In ons voorbeeld hebben we het resultaat eerst gesorteerd op salaris in aflopende volgorde (hogere salarissen naar lagere) en vervolgens op achternaam in oplopende volgorde binnen de al gesorteerde records.


  1. Navigeren door de Access 2019-openingswerkruimte

  2. Prestaties en prijzen van PostgreSQL DigitalOcean vergelijken - ScaleGrid versus door DigitalOcean beheerde databases

  3. Hoe SQLite-database lezen en bijwerken met ListView in Android?

  4. Verbindingspooling in .NET/SQL-server?