Sortowanie wyników (ORDER BY)
Sortowanie wyników to ważna część pracy z bazami danych. Dzięki klauzuli ORDER BY
możemy uporządkować dane w taki sposób, aby były łatwiejsze do zrozumienia i przejrzyste. Możemy na przykład posortować uczniów według nazwiska, daty urodzenia albo oceny, co sprawia, że wyniki są bardziej zrozumiałe i wygodne do analizy.
W tej sekcji dowiesz się, jak używać ORDER BY
, aby sortować wyniki według jednej lub kilku kolumn, a także jak określić kierunek sortowania (rosnąco lub malejąco).
Składnia ORDER BY
Aby posortować wyniki zapytania, używamy ORDER BY
na końcu zapytania SELECT
. Możemy sortować wyniki według jednej kolumny lub kilku kolumn.
Podstawowa składnia:
SELECT kolumna1, kolumna2
FROM tabela
ORDER BY kolumna1 [ASC|DESC], kolumna2 [ASC|DESC];
ASC
(ascending) oznacza sortowanie rosnące (jest to ustawienie domyślne).DESC
(descending) oznacza sortowanie malejące.
Jeśli nie podamy ASC
ani DESC
, SQL domyślnie posortuje wyniki rosnąco.
Przykłady Użycia ORDER BY
1. Sortowanie według Jednej Kolumny
Przykład: Posortowanie uczniów według nazwiska w kolejności rosnącej.
W tym przykładzie wyniki będą posortowane według kolumny nazwisko
w kolejności alfabetycznej (rosnąco).
SELECT imie, nazwisko
FROM Uczen
ORDER BY nazwisko ASC;
2. Sortowanie według Jednej Kolumny Malejąco
Przykład: Posortowanie uczniów według oceny w kolejności malejącej.
W tym przykładzie wyniki będą posortowane według kolumny ocena
od najwyższej do najniższej oceny.
SELECT imie, nazwisko, ocena
FROM Oceny
ORDER BY ocena DESC;
3. Sortowanie według Kilku Kolumn
Możemy także posortować wyniki według kilku kolumn jednocześnie. W takim przypadku SQL najpierw sortuje według pierwszej kolumny, a potem według drugiej, jeśli wartości w pierwszej kolumnie są takie same.
Przykład: Posortowanie uczniów według klasy (rosnąco), a następnie według nazwiska (rosnąco).
W tym przykładzie wyniki będą najpierw posortowane według kolumny klasa_id
, a następnie, w ramach każdej klasy, według kolumny nazwisko
.
SELECT imie, nazwisko, klasa_id
FROM Uczen
ORDER BY klasa_id ASC, nazwisko ASC;
Sortowanie z ORDER BY
i LIMIT
Często używamy ORDER BY
razem z LIMIT
, aby wyświetlić na przykład pięciu najlepszych uczniów albo najnowsze wpisy. LIMIT
pozwala ograniczyć liczbę wyników zwracanych przez zapytanie.
Przykład: Pobranie trzech uczniów z najwyższą oceną.
W tym przykładzie zapytanie zwraca trzech uczniów, którzy mają najwyższe oceny.
SELECT imie, nazwisko, ocena
FROM Oceny
ORDER BY ocena DESC
LIMIT 3;
Testy przypięte do lekcji | |
---|---|
Aby uzyskać dostęp do testów i ćwiczeń interaktywnych - Zaloguj się |