Lajittelu ORDER BY -lauseella
Järjestäkää rivit nousevaan ja laskevaan järjestykseen.
Lajittelu ORDER BY -lauseella on ilmainen SQL Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SQL Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SQL Academy-kurssilla on yhteensä 4 oppituntia.
Miksi järjestyksellä on väliä
Oletusarvoisesti SELECT palauttaa rivit ilman taattua järjestystä. Tietokanta voi palauttaa ne missä tahansa itselleen sopivassa järjestyksessä.
Kun tarvitsette ennakoitavan tuloksen, kuten aakkosellisen luettelon tai uusimmat ensin näyttävän syötteen, se on pyydettävä erikseen ORDER BY-lausekkeella.
-- Without ORDER BY, row order is NOT guaranteed
SELECT name, price
FROM products;ORDER BY -lauseke
ORDER BY tulee kyselyn loppupuolelle, WHERE-lausekkeen jälkeen ja ennen LIMIT-lauseketta. Siinä ilmoitetaan sarake, jonka mukaan lajitellaan.
Tämä lajittelee tuotteet aakkosjärjestykseen name-sarakkeen perusteella.
SELECT name, price
FROM products
ORDER BY name;Nouseva järjestys on oletus
Jos ette määritä muuta, lajittelu tehdään nousevassa järjestyksessä: teksti A:sta Ö:hön, luvut pienimmästä suurimpaan ja päivämäärät vanhimmasta uusimpaan.
Voitte kirjoittaa ASC tehdäksenne tämän näkyväksi, mutta se ei muuta mitään.
-- These two queries are identical
SELECT name, price FROM products ORDER BY price;
SELECT name, price FROM products ORDER BY price ASC;Laskeva lajittelu
Lisätkää DESC, jos haluatte kääntää järjestyksen: Ö:stä A:han, suurimmasta pienimpään ja uusimmasta vanhimpaan.
Tämä näyttää kalleimmat tuotteet ensin.
SELECT name, price
FROM products
ORDER BY price DESC;Päivämäärien lajittelu
Päivämäärät ja aikaleimat lajitellaan aikajärjestykseen. DESC näyttää uusimmat rivit ensin, mikä on tyypillinen ratkaisu tapahtumasyötteissä ja lokeissa.
SELECT id, total, created_at
FROM orders
ORDER BY created_at DESC;Lajittelu valitsemattoman sarakkeen perusteella
Lajittelusarakketta ei tarvitse sisällyttää SELECT-luetteloon. Voitte lajitella sellaisen tiedon perusteella, jota käyttäjä ei näe.
Tässä näytetään vain nimi, mutta taustalla lajitellaan hinnan perusteella.
SELECT name
FROM products
ORDER BY price DESC;Lajittelu sarakkeen sijainnin perusteella
PostgreSQL:n avulla voitte lajitella sarakkeen sijainnin perusteella SELECT-luettelossa. ORDER BY 2 tarkoittaa "toista valittua saraketta".
Tämä on kätevää nopeissa kyselyissä, mutta oikeiden sarakenimien käyttäminen on selkeämpää ja turvallisempaa.
-- 2 refers to price (the 2nd column)
SELECT name, price
FROM products
ORDER BY 2 DESC;Lajittelu lausekkeen perusteella
Voitte lajitella lasketun arvon, ei ainoastaan tallennetun sarakkeen, perusteella. Lauseke lasketaan jokaiselle riville, minkä jälkeen sitä käytetään järjestämiseen.
Tämä järjestää tuotteet niiden varaston kokonaisarvon perusteella.
SELECT name, price, stock
FROM products
ORDER BY price * stock DESC;Lajittelu aliaksen perusteella
Jos annatte lausekkeelle aliaksen SELECT-lausekkeessa, voitte käyttää samaa aliasta uudelleen ORDER BY-lausekkeessa. Näin kysely pysyy luettavana.
SELECT name, price * stock AS inventory_value
FROM products
ORDER BY inventory_value DESC;Kirjainkoko tekstin lajittelussa
Tekstin lajittelu noudattaa tietokannan kollaatiota, joten isot ja pienet kirjaimet voivat järjestyä eri tavalla kuin odotatte.
Pakottakaa kirjainkoosta riippumaton järjestys lajittelemalla sarakkeen pieniksi kirjaimiksi muunnetun kopion perusteella LOWER()-funktiolla.
SELECT name
FROM products
ORDER BY LOWER(name);ORDER BY:n paikka
Muistakaa lausekkeiden looginen järjestys:
FROMvalitsee taulunWHEREsuodattaa rivitORDER BYlajittelee jäljelle jäävät rivitLIMITrajaa tuloksen
Lajittelu tapahtuu aina suodatuksen jälkeen.
SELECT name, price
FROM products
WHERE price > 10
ORDER BY price DESC;Pikatarkistus
Mikä kysely näyttää edullisimmat tuotteet ensin?
Kertaus
Hallitsette nyt rivien järjestystä:
ORDER BY columnlajittelee tuloksenASC(oletus) järjestää pienimmästä suurimpaan;DESCkääntää järjestyksen- Voitte lajitella sarakkeiden, sijaintien, lausekkeiden tai aliasten perusteella
- Käyttäkää
LOWER()-funktiota kirjainkoosta riippumattomaan tekstin lajitteluun
Seuraavaksi ratkaistaan tasatilanteet lajittelemalla usean sarakkeen perusteella samanaikaisesti.
SELECT name, price
FROM products
ORDER BY price DESC;Opi SQL tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 46
- Oppitunnit
- 183
Usein kysytyt kysymykset
Onko oppitunti ”Lajittelu ORDER BY -lauseella” ilmainen?
Kyllä – oppitunnin ”Lajittelu ORDER BY -lauseella” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SQL Academy-kurssin, päivitä CoddyKit PROhon. SQL Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Lajittelu ORDER BY -lauseella”?
Järjestäkää rivit nousevaan ja laskevaan järjestykseen. Harjoittelet SQL Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni SQL Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin SQL Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.
Kuinka kauan ”Lajittelu ORDER BY -lauseella”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä SQL Academy-oppitunnilla?
Kyllä. Jokainen SQL Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Lajittelu ORDER BY -lauseella
- Lajittelu usean sarakkeen perusteella
- LIMIT ja OFFSET
- Top-N-tietueiden etsiminen