sql >> Databasteknik >  >> RDS >> Database

Hur man beställer efter två kolumner i SQL?

Problem:

Du måste visa poster från en given tabell sorterade efter två kolumner.

Exempel:

Vår databas har en tabell som heter employee med följande kolumner:id , first_name , last_name och salary .

id förnamn efternamn lön
1 Lisa Ulman 3000
2 Ada Muller 2400
3 Thomas Grön 2400
4 Michael Muller 3000
5 Maria Grön 2400

Låt oss visa all information för varje anställd men sortera posterna efter lön i fallande ordning först och sedan efter efternamn i stigande ordning.

Lösning:

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

Den här frågan returnerar sorterade poster enligt två kolumner:lön och efternamn .

<
id förnamn efternamn lön
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

Diskussion:

Om du vill välja poster från en tabell men vill se dem sorterade efter två kolumner kan du göra det med ORDER BY . Den här klausulen kommer i slutet av din SQL-fråga.

Efter ORDER BY nyckelord, lägg till namnet på den kolumn som du vill sortera poster efter först (i vårt exempel, lön). Lägg sedan till den andra kolumnen efter ett kommatecken (i vårt exempel, last_name ). Du kan ändra sorteringsordningen (stigande eller fallande) separat för varje kolumn. Om du vill använda stigande (låg till hög) ordning kan du använda ASC nyckelord; Detta nyckelord är dock valfritt, eftersom det är standardordningen när inget anges. Om du vill använda fallande ordning, sätt DESC nyckelord efter lämplig kolumn (i exemplet använde vi fallande ordning för salary kolumn).

I vårt exempel sorterade vi först resultatet efter lön i fallande ordning (högre löner till lägre) och sedan efter efternamn i stigande ordning inom de redan sorterade posterna.


  1. 3 sätt att lista alla lagrade procedurer som refererar till en tabell i PostgreSQL

  2. MySQL Snabbtips:Använd funktionen LENGTH och TRIM

  3. Oracle PLSQL-blockstruktur och -typer

  4. HUR MAN:Kör schemalagda uppgifter med Microsoft Access