Database
 sql >> Baza danych >  >> RDS >> Database

Jak uporządkować według dwóch kolumn w SQL?

Problem:

Musisz wyświetlić rekordy z danej tabeli posortowane według dwóch kolumn.

Przykład:

Nasza baza danych zawiera tabelę o nazwie employee z następującymi kolumnami:id , first_name , last_name i salary .

id imię nazwisko wynagrodzenie
1 Lisa Ułman 3000
2 Ada Muller 2400
3 Thomas Zielony 2400
4 Michael Muller 3000
5 Maryi Zielony 2400

Wyświetlmy wszystkie informacje dla każdego pracownika, ale najpierw posortujmy rekordy według wynagrodzenia w kolejności malejącej, a następnie według nazwiska w kolejności rosnącej.

Rozwiązanie:

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

To zapytanie zwraca posortowane rekordy według dwóch kolumn:wynagrodzenie i nazwisko .

<
id imię nazwisko wynagrodzenie
4 Michael M grubszy 3000
1 Lisa U lman 3000
3 Thomas G ponownie 2400
5 Maryi G ponownie 2400
2 Ada M grubszy 2400

Dyskusja:

Jeśli chcesz wybrać rekordy z tabeli, ale chcesz zobaczyć je posortowane według dwóch kolumn, możesz to zrobić za pomocą ORDER BY . Ta klauzula znajduje się na końcu zapytania SQL.

Po ORDER BY słowa kluczowego, dodaj nazwę kolumny, według której chcesz najpierw posortować rekordy (w naszym przykładzie wynagrodzenie). Następnie po przecinku dodaj drugą kolumnę (w naszym przykładzie last_name ). Możesz zmienić porządek sortowania (rosnąco lub malejąco) oddzielnie dla każdej kolumny. Jeśli chcesz użyć porządku rosnącego (od niskiego do wysokiego), możesz użyć ASC słowo kluczowe; to słowo kluczowe jest jednak opcjonalne, ponieważ jest to kolejność domyślna, gdy nie określono żadnego. Jeśli chcesz użyć kolejności malejącej, wpisz DESC słowo kluczowe po odpowiedniej kolumnie (w przykładzie użyliśmy kolejności malejącej dla salary kolumna).

W naszym przykładzie najpierw posortowaliśmy wynik według wynagrodzenia w porządku malejącym (od wyższych do niższych), a następnie według nazwiska w porządku rosnącym w ramach tych już posortowanych rekordów.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Błąd ogólny:niezgodność wersji systemu operacyjnego

  2. Czy nowe kolumny indeksu powinny być w kluczu, czy uwzględnione?

  3. Jak stworzyć model bazy danych od podstaw

  4. Łączenie SAS JMP z Salesforce.com

  5. Narzędzia online do testowania projektów i zapytań SQL