Sortowanie danych ma zastosowanie w scenariuszach, w których trzeba uporządkować dane w określonej kolejności, co jest przydatne do wizualizacji danych, gromadzenia wglądu w dane i nie tylko. Ułatwia także proces wyszukiwania, czyszczenia i analizowania danych.
W SQL mamy klauzulę ORDER BY, która zapewnia nam funkcjonalność sortowania danych w kolejności rosnącej lub malejącej.
W tym samouczku nauczymy się sortować dane w kolejności rosnącej za pomocą słów kluczowych ORDER BY i ASC.
UWAGA: W celach demonstracyjnych użyjemy przykładowej bazy danych Sakila i MySQL w wersji 8.0. Możesz swobodnie odwoływać się do dowolnego zbioru danych, który uznasz za mający zastosowanie, i korzystać z niego.
Porządek rosnący SQL
Porządek rosnący w języku SQL oznacza po prostu metodę sortowania danych w wyniku zapytania. Porządek rosnący może być numeryczny lub alfabetyczny, w zależności od docelowej kolumny sortowania.
Kiedy zastosujemy porządek rosnący do sortowania kolumn, SQL uporządkuje dane w zakresie od najmniejszej (najniższej) wartości do największej (najwyższej) wartości.
W przypadku ciągów kolejność rosnąca wykorzystuje kolejność alfabetyczną, gdzie A jest najniższe, a Z jest najwyższe.
ZAMÓW SQL PRZEZ
Jak można się domyślić, sposób sortowania, rosnący lub malejący w języku SQL odbywa się za pomocą klauzuli ORDER BY.
Klauzula ORDER BY pozwala nam posortować zestaw wyników zapytania na podstawie jednej lub większej liczby kolumn. Składnię klauzuli możemy wyrazić w następujący sposób:
WYBIERZ kolumnę 1, kolumnę 2, ...ZE stołu
ZAMÓWIENIE BY kolumna_do_sortowania;
Po klauzuli ORDER BY podajemy kryteria sortowania. Jest to w zasadzie kolumna, którą chcemy zamówić.
Słowo kluczowe SQL ASC
Słowo kluczowe ASC w kontekście klauzuli ORDER BY informuje silnik bazy danych, aby posortował dane w kolejności rosnącej.
Warto pamiętać, że jest to domyślna opcja dla klauzuli ORDER BY. Dlatego nawet jeśli nie powiemy wprost SQLowi, aby posortował dane w kolejności rosnącej, zrobi to automatycznie jako operację domyślną.
Oto składnia zastosowania słowa kluczowego ASC w klauzuli ORDER BY:
WYBIERZ kolumnę 1, kolumnę 2Z nazwa_tabeli
ZAMÓWIENIE BY kolumna ASC;
To powinno posortować określoną kolumnę w porządku rosnącym.
Przykład 1: Podstawowe użycie
Przyjrzyjmy się przykładowi użycia klauzuli ORDER BY. Rozważmy tabelę „film” z przykładowej bazy danych Sakila. Załóżmy, że chcemy posortować dane od najwyższej ceny wynajmu w porządku rosnącym.
WYBIERAĆtytuł,
rok wydania ,
długość,
stawka_dzierżawy
Z
film
ZAMÓWIENIE PRZEZ
stawka_dzierżawy ASC;
W tym przypadku używamy parametru „rental_rate” w klauzuli ORDER BY, aby szybko posortować filmy od najniższej do najwyższej stawki wypożyczenia.
Wynikowy wynik jest następujący:
Przykład 2: Sortowanie wielu kolumn
SQL pozwala nam również podać więcej niż jedną kolumnę jako parametr sortowania. Może to być bardzo przydatne, gdy musimy posortować dane w oparciu o więcej niż jedno kryterium.
Aby to osiągnąć, możemy po prostu wyświetlić wiele kolumn w klauzuli ORDER BY oddzielonych przecinkami.
Weźmy tabelę „płatność” ze stołu Sakila. Możemy sortować na podstawie kwoty i „daty_płatności” w kolejności rosnącej, jak pokazano w poniższym przykładowym zapytaniu:
WYBIERAĆIdentyfikator klienta,
kwota,
termin płatności
Z
Zapłata
ZAMÓWIENIE PRZEZ
kwota ASC,
data_płatności ASC;
To zapytanie powinno pobrać kolumny „customer_id”, „amount” i „payment_date” z tabeli „payment”. Jednak zapytanie najpierw sortuje wynik w kolejności rosnącej na podstawie kwoty płatności, po której następuje data płatności.
Zapewnia to podwójne kryteria sortowania, jak pokazano w wynikowej tabeli:
Wniosek
W tym samouczku zagłębiliśmy się w proces sortowania danych w SQL za pomocą klauzuli ORDER BY. Dowiedzieliśmy się również, jak możemy użyć słowa kluczowego ASC do sortowania danych w kolejności rosnącej. Na koniec sprawdziliśmy, w jaki sposób możemy sortować dane za pomocą wielu kolumn.