Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Sortowanie po wielu kolumnach

Jedna rubryka czasem nie wystarcza. Gdy wiele zwojów ma tę samą wartość - na przykład kilka książek wydano w tym samym roku - potrzebujesz drugiego kryterium, by rozstrzygnąć remis.

Dwie rubryki po przecinku

W

ORDER BY
możesz podać kilka rubryk, oddzielając je przecinkiem:

1SELECT tytul, rok_wydania
2FROM ksiazki
3ORDER BY rok_wydania DESC, tytul ASC;

Biblioteka sortuje najpierw wedle pierwszej rubryki (

rok_wydania
malejąco). Dopiero gdy kilka książek wyszło w tym samym roku, sięga po drugą rubryke (
tytul
rosnąco) i układa je alfabetycznie.

Każda rubryka ma własny kierunek

Każda kolumna może mieć osobny

ASC
lub
DESC
:

1SELECT imie, nazwisko, kraj
2FROM autorzy
3ORDER BY kraj ASC, nazwisko ASC;

Najpierw grupujemy autorów wedle kraju (alfabetycznie), a w obrębie każdego kraju układamy ich rosnąco po nazwisku.

Po co rozstrzygać remisy?

  • Wynik staje się przewidywalny - ten sam zestaw danych zawsze ułoży się tak samo.
  • Raporty są czytelniejsze - dane mają wyraźny, dwupoziomowy porządek.

Pamiętaj, @name: pierwsza rubryka rządzi, a kolejne wkraczają tylko przy remisie. Tak skryba porządkuje nawet najbardziej zatłoczoną półkę.

Przejdź do CodeWorlds