Johdanto
kun haet tietoja PostgreSQL-taulukosta, saatat haluta tuloksesi palautettavan tietyssä järjestyksessä. PostgreSQL ORDER BY
– hakusanoilla voit lajitella tietueita valitsemasi sarakkeen tietokannasta. Voit myös määrittää, haluatko tuloksesi lajiteltavan nousevaan vai laskevaan järjestykseen. Tässä artikkelissa, näytämme, miten lajitella tietueita ja palauttaa ne laskevassa järjestyksessä käyttäen Postgres järjestyksessä DESC avainsanat.
Edeltävät opinnot
sinun on varmistettava, että seuraavat edellytykset ovat olemassa ennen kuin jatkat tätä opetusohjelmaa:
- PostgreSQL on asennettava tietokoneellesi, jotta voit seurata PostgreSQL-tilaustamme DESC-esimerkkien avulla.
- sinulla pitäisi olla jonkin verran perustietoa PostgreSQL: stä saadaksesi kaiken irti tästä artikkelista.
Postgres-järjestys laskevalla
aloitetaan tarkastelemalla ORDER BY
– avainsanojen perussyntaksia, jossa on DESC
lauseke:
1
|
valitse * TAULUKOSTA_NIMI järjestys sarakkeen_nimi DESC mukaan
|
HUOMAUTUS: Jos haluat, että tuloksesi palautetaan sen sijaan nousevassa järjestyksessä, korvaa DESC
hakusanalla ASC
.
Postgres ’ORDER BY’ example
ennen kuin jatkamme esimerkkiämme, luodaan taulukko ja nimetään se ”richest_countries”:
1
2 3 4 5 6 |
Luo taulukko richest_ countries (
id SERIAL PRIMARY KEY, country VARCHAR(30), continent VARCHAR (30), gdp_per_capita numeerinen ); |
huomautus: Varmista, että luot tietokannan yllä olevalle näytetaulukolle ennen kuin suoritat yllä olevan CREATE TABLE
– lausunnon. Kun olet luonut tietokantasi, voit muodostaa siihen yhteyden PSQL-komennolla \c
, jota seuraa tietokannan nimi.
nyt lisätään taulukkoon muutama levy. Tämä antaa meille joitakin näyte tietoja käyttää esimerkkejämme:
1
2 3 4 5 6 7 8 9 10 |
lisää RICHEST_MAAT (maa, maanosa, gdp_per_capita) – arvoihin (”Australia”, ”Australia’, ’58824’);
lisää RICHEST_MAAT (maa, maanosa, gdp_per_capita) – arvoihin (”Singapore”, ”Aasia’, ’62690’); lisätään RIKKAIMPIIN_MAIHIN (maa, maanosa, gdp_per_capita) arvot (”Tanska”, ”Eurooppa”, ”63434”); lisätään RIKKAIMPIIN_MAIHIN (maa, maanosa, gdp_per_capita) arvot (”Amerikan Yhdysvallat”, ”Pohjois-Amerikka’, ’64906’); INSERT INTO richest_maat (maa, maanosa, gdp_per_capita) arvot (”Qatar”, ”Aasia’, ’65062’); INSERT INTO richest_ countries (country, continent, gdp_per_capita) VALUES (”Islanti”, ”Eurooppa’, ’78181’); lisää RICHEST_MAAT (maa, maanosa, gdp_per_capita) – arvoihin (”Irlanti”, ”Eurooppa’, ’81477’); lisätään RICHEST_ countries (country, continent, gdp_per_capita) – arvoihin (”Swirzerland”, ”Europe”, ”83832”); lisätään RIKKAIMPIIN_MAIHIN (maa, maanosa, gdp_per_capita) arvot (”Norja”, ”Eurooppa’, ’86362’); lisää RIKKAIMPIIN_MAIHIN (maa, maanosa, gdp_per_capita) arvot (”Luxemburg”, ”Eurooppa’, ’119719’); |
Postgres sort by statement using ’ORDER BY’
seuraavassa esimerkissä näytetään rikkaimmat maat ja lajitellaan niiden asukaskohtaisen BKT: n mukaan palauttaen tietueet laskevaan järjestykseen:
1
2 3 |
valitse maa, maanosa, valettu(gdp_per_capita rahana)
RIKKAIMMISTA_MAISTA järjestys gdp_per_capita DESC; |
huomaa, että yllä oleva SQL-lauseke käyttää CAST
yhdessä AS MONEY
: tämä palauttaa gdp_per_capita
sarakkeen arvot USD-valuuttamuodossa. Kysely sitten lajittelee Postgres kirjaa korkein BKT asukasta kohti vähiten:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
maa / maanosa / gdp_per_capita
————————–+—————+—————- Luxemburg | Eurooppa | $119,719, 00 Norja | Eurooppa | $86,362, 00 Swirzerland | Europe | $83,832, 00 Irlanti | Eurooppa | $81,477, 00 Islanti | Eurooppa | $78,181, 00 Qatar | Aasia | $65,062, 00 Yhdysvallat Amerikka | Pohjois-Amerikka | 64 906,00 $ Tanska | Eurooppa | 63 434$.00 Singapore / Aasia / $62,690.00 Australia / Australia| $58,824.00 (10 rivit) |
lajittelemme tietueet laskevaan järjestykseen rajalla
seuraavassa esimerkissämme lajitellaan rikkaimmat maat, mutta tällä kertaa rajoitamme palautettavien tietueiden määrää:
1
2 3 4 |
valitse maa, maanosa, valettu(gdp_per_capita rahana)
RIKKAIMMISTA_MAISTA järjestys gdp_per_capita DESC raja 5; |
tämä lausunto olisi palautettava seuraavat:
1
2 3 4 5 6 7 8 |
maa / maanosa / gdp_per_capita
————-+———–+—————- Luxembourg | Europe | $119,719, 00 Norja | Eurooppa | $86,362, 00 Swirzerland | Europe | $83,832, 00 Irlanti | Europe | $81,477, 00 Islanti | Europe / $78,181.00 (5 riviä) |
Lajittele PostgreSQL-lauseketta käyttäen useita sarakkeita
kun käytät ORDER BY
avainsanoja, voit lajitella tietueita useammalle kuin yhdelle sarakkeelle. Tässä esimerkissä lajitellaan rikkaimmat maat maanosittain ja sitten lajitellaan BKT asukasta kohti laskevassa järjestyksessä:
1
2 3 |
valitse maa, maanosa, valettu(gdp_per_capita rahana)
RIKKAIMMISTA_MAISTA järjestys maanosittain, gdp_per_capita DESC; |
yllä oleva SQL-lauseke palauttaa seuraavan taulukon:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
maa / maanosa / gdp_per_capita
————————–+—————+—————- Qatar | Aasia | $65,062.00 Singapore | Aasia | $62,690.00 Australia | Australia | $58,824.00 Luxemburg | Eurooppa | $119,719.00 Norja | Eurooppa | $86,362.00 Swirzerland | Europe | $83,832.00 Irlanti | Eurooppa | $81,477, 00 Islanti | Eurooppa | $78,181, 00 Tanska | Eurooppa | $63,434.00 Amerikan Yhdysvallat | Pohjois-Amerikka| $64,906.00 (10 rivit) |
johtopäätös
kun suoritat PostgreSQL-kyselyn, palautettujen tietueiden lajittelu tekee tuloksistasi luettavampia ja auttaa sinua saamaan parempia tietoja tiedoistasi. ORDER BY
– hakusanojen avulla voit määrittää sarakkeen, johon voit lajitella tuloksesi; DESC
– lausekkeen lisääminen helpottaa lajittelua laskevaan järjestykseen. Tässä artikkelissa, selitimme, miten käyttää Postgres järjestyksessä DESC avainsanat lajitella tuloksia kyselyn. Esimerkeillämme pääset alkuun, voit käyttää näitä avainsanoja omissa PostgreSQL-kyselyissäsi.