Razvrstavanje podataka dolazi u obzir u scenarijima u kojima trebate organizirati podatke određenim redoslijedom što je korisno za vizualizaciju podataka, prikupljanje uvida u podatke i još mnogo toga. Također čini proces dohvaćanja, čišćenja i analize podataka mnogo lakšim.
U SQL-u imamo klauzulu ORDER BY koja nam daje mogućnost sortiranja podataka u uzlaznom ili silaznom redoslijedu.
U ovom vodiču naučit ćemo kako sortirati podatke uzlaznim redoslijedom pomoću ORDER BY i ključne riječi ASC.
NAPOMENA: U svrhu demonstracije koristit ćemo Sakila uzorak baze podataka i MySQL verziju 8.0. Slobodno referencirajte i koristite bilo koji skup podataka koji smatrate primjenjivim.
SQL rastući redoslijed
Uzlazni poredak u SQL-u jednostavno se odnosi na metodu sortiranja podataka u rezultatu upita. Uzlazni redoslijed može biti numerički ili abecedni, ovisno o ciljanom stupcu sortiranja.
Kada primijenimo uzlazni redoslijed na sortiranje stupaca, SQL će organizirati podatke koji se kreću od najmanje (najniže) vrijednosti do najveće (najviše) vrijednosti.
U slučaju nizova, uzlazni poredak koristi abecedni red gdje je A najniži, a Z najviši.
SQL ORDER BY
Kao što možete pogoditi, način na koji izvodimo sortiranje, uzlazno ili silazno u SQL-u je korištenje klauzule ORDER BY.
Klauzula ORDER BY nam omogućuje sortiranje skupa rezultata upita na temelju jednog ili više stupaca. Sintaksu klauzule možemo izraziti na sljedeći način:
SELECT stupac1, stupac2, ...IZ stola
NARUDŽBA BY stupac_za_sortiranje;
Nakon klauzule ORDER BY navodimo kriterije sortiranja. Ovo je zapravo stupac koji želimo naručiti.
SQL ASC ključna riječ
Ključna riječ ASC u kontekstu klauzule ORDER BY govori stroju baze podataka da sortira podatke uzlaznim redoslijedom.
Dobro je imati na umu da je ovo zadana opcija za klauzulu ORDER BY. Dakle, čak i ako eksplicitno ne kažemo SQL-u da sortira podatke uzlaznim redoslijedom, on će to automatski učiniti kao zadanu operaciju.
Evo sintakse o tome kako primjenjujemo ključnu riječ ASC u klauzuli ORDER BY:
SELECT stupac1, stupac2FROM naziv_tablice
NARUDŽBA BY stupac ASC;
Ovo bi trebalo poredati navedeni stupac uzlaznim redoslijedom.
Primjer 1: Osnovna upotreba
Pogledajmo primjer upotrebe klauzule ORDER BY. Razmotrite tablicu 'film' iz uzorka baze podataka Sakila. Pretpostavimo da želimo sortirati podatke od najviše cijene najma uzlaznim redoslijedom.
IZABERItitula,
godina izdanja,
duljina,
stopa_najamnine
IZ
film
NARUDŽBA PO
stopa najma ASC;
U ovom slučaju koristimo 'rental_rate' u klauzuli ORDER BY za brzo sortiranje filmova od najniže do najviše stope posudbe.
Rezultirajući izlaz je sljedeći:
Primjer 2: Sortiranje više stupaca
SQL nam također omogućuje da pružimo više od jednog stupca kao parametar sortiranja. Ovo može biti vrlo korisno kada trebamo sortirati podatke na temelju više od jednog kriterija.
Da bismo to postigli, možemo jednostavno navesti više stupaca u klauzuli ORDER BY odvojenih zarezom.
Uzmimo tablicu 'plaćanja' iz tablice Sakila. Možemo sortirati na temelju iznosa i 'payment_date' uzlaznim redoslijedom kao što je prikazano u sljedećem primjeru upita:
IZABERIcustomer_id,
iznos,
Datum plačanja
IZ
plaćanje
NARUDŽBA PO
iznos ASC,
datum_plaćanja ASC;
Ovaj bi upit trebao dohvatiti stupce 'customer_id', 'amount' i 'payment_date' iz tablice 'payment'. Međutim, upit prvo sortira rezultat uzlaznim redoslijedom na temelju iznosa plaćanja nakon kojeg slijedi datum plaćanja.
Ovo daje dvostruke kriterije sortiranja kao što je prikazano u rezultirajućoj tablici:
Zaključak
U ovom vodiču zaronili smo duboko u proces sortiranja podataka u SQL-u pomoću klauzule ORDER BY. Također smo naučili kako možemo koristiti ključnu riječ ASC za sortiranje podataka uzlaznim redoslijedom. Konačno, istražili smo kako možemo sortirati podatke pomoću više stupaca.