⊗pyPmDBNSr 115 of 129 menu

Tietueiden lajittelu SQL-kyselyllä Pythonissa

Jotta voit lajitella tulosrivit, sinun on käytettävä komentoa ORDER BY.

Esimerkki

Valitaan taulustamme users kaikki käyttäjät ja lajitellaan heidät iän mukaan pienimmästä suurimpaan:

query = "SELECT * FROM users ORDER BY age"

Suoritetun koodin tulos:

{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400} {'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500} {'id': 5, 'name': 'user5', 'age': 27, 'salary': 500} {'id': 6, 'name': 'user6', 'age': 28, 'salary': 900} {'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}

Esimerkki

Muutetaan lajittelujärjestystä käyttämällä komentoa DESC:

query = "SELECT * FROM users ORDER BY age DESC"

Suoritetun koodin tulos:

{'id': 4, 'name': 'user4', 'age': 30, 'salary': 900} {'id': 6, 'name': 'user6', 'age': 28, 'salary': 900} {'id': 5, 'name': 'user5', 'age': 27, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500} {'id': 1, 'name': 'user1', 'age': 23, 'salary': 400} {'id': 3, 'name': 'user3', 'age': 23, 'salary': 500}

Esimerkki

Valitaan kaikki käyttäjät, joiden palkka on 500 ja lajitellaan heidät iän mukaan pienimmästä suurimpaan:

query = "SELECT * FROM users WHERE salary=500 ORDER BY age"

Suoritetun koodin tulos:

{'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500} {'id': 5, 'name': 'user5', 'age': 27, 'salary': 500}

Esimerkki

Voit lajitella usean kentän, ei vain yhden kentän mukaan. Esimerkiksi valitaan kaikki käyttäjät ja lajitellaan heidät ensin iän mukaan nousevaan järjestykseen, ja käyttäjät, joilla on sama ikä, lajitellaan palkan mukaan nousevaan järjestykseen:

query = "SELECT * FROM users ORDER BY age, salary"

Suoritetun koodin tulos:

{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400} {'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500} {'id': 5, 'name': 'user5', 'age': 27, 'salary': 500} {'id': 6, 'name': 'user6', 'age': 28, 'salary': 900} {'id': 4, 'name': 'user4', 'age': 30, 'salary': 900}

Esimerkki

Komentoa ORDER BY voidaan yhdistää komentoon LIMIT . Tällöin lajittelukomennon on oltava ensin, ja sitten - rajoitus. Seuraavassa esimerkissä lajitellaan ensin tietueet iän mukaan nousevaan järjestykseen, ja sitten otetaan ensimmäiset 3 kappaletta:

query = "SELECT * FROM users ORDER BY age LIMIT 3"

Suoritetun koodin tulos:

{'id': 1, 'name': 'user1', 'age': 23, 'salary': 400} {'id': 3, 'name': 'user3', 'age': 23, 'salary': 500} {'id': 2, 'name': 'user2', 'age': 25, 'salary': 500}

Käytännön tehtävät

Nouda kaikki käyttäjät ja lajittele heidät palkan mukaan nousevaan järjestykseen.

Nouda kaikki käyttäjät ja lajittele heidät palkan mukaan laskevaan järjestykseen.

Nouda kaikki käyttäjät ja lajittele heidät nimen mukaan.

Nouda käyttäjät, joiden palkka on 500 ja lajittele heidät iän mukaan.

Nouda kaikki käyttäjät ja lajittele heidät nimen ja palkan mukaan.

Lajittele käyttäjät palkan mukaan nousevaan järjestykseen ja ota ensimmäiset 3 työntekijää lajittelun tuloksesta.

Lajittele käyttäjät palkan mukaan laskevaan järjestykseen ja ota ensimmäiset 3 käyttäjää lajittelun tuloksesta.

Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää