SQL Academy · Oppitunti

Lajittelu ORDER BY -lauseella

Järjestäkää rivit nousevaan ja laskevaan järjestykseen.

Oppitunti 1/413 vaihetta

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:

  • FROM valitsee taulun
  • WHERE suodattaa rivit
  • ORDER BY lajittelee jäljelle jäävät rivit
  • LIMIT rajaa 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 column lajittelee tuloksen
  • ASC (oletus) järjestää pienimmästä suurimpaan; DESC kää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;
Aloita maksutta

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

  1. Lajittelu ORDER BY -lauseella
  2. Lajittelu usean sarakkeen perusteella
  3. LIMIT ja OFFSET
  4. Top-N-tietueiden etsiminen
← Takaisin: SQL Academy