introduktion
når du henter oplysninger fra en Postgres-tabel, vil du muligvis have dine resultater returneret i en bestemt rækkefølge. Søgeordene ORDER BY
giver dig mulighed for at sortere poster fra databasen i den kolonne, du vælger. Du kan også angive, om du vil have dine resultater sorteret i stigende eller faldende rækkefølge. I denne artikel viser vi dig, hvordan du sorterer poster og returnerer dem i faldende rækkefølge ved hjælp af Postgres-ordren efter DESC-nøgleord.
forudsætninger
du skal sørge for, at følgende forudsætninger er på plads, før du fortsætter med denne tutorial:
- Postgraduate skal installeres på din computer for at følge med i Vores postgraduate ORDER by DESC eksempler.
- du skal have nogle grundlæggende kendskab til postgraduate for at få mest muligt ud af denne artikel.
Postgres ORDER by descending
lad os begynde med at se på den grundlæggende syntaks af ORDER BY
nøgleord med DESC
klausul:
1
|
vælg * fra Tabelnavn Bestil efter kolonnenavn DESC
|
BEMÆRK: Hvis du i stedet vil have dine resultater returneret i stigende rækkefølge, skal du bare erstatte nøgleordet DESC
med ASC
.
Postgres ‘Bestil efter’ eksempel
før vi fortsætter med vores eksempel, lad os oprette en tabel og navngive den “richest_countries”:
1
2 3 4 5 6 |
Opret tabel richest_countries (
ID seriel primær nøgle, land VARCHAR(30), kontinent varchar (30), gdp_per_capita numerisk ); |
Bemærk: Sørg for at oprette en database til din eksempeltabel ovenfor, før du udfører CREATE TABLE
– sætningen vist ovenfor. Når du har oprettet din database, kan du bruge kommandoen \c
i pskl, efterfulgt af databasenavnet, til at oprette forbindelse til den.
lad os nu indsætte et par poster i tabellen. Dette giver os nogle eksempler på data, der kan bruges i vores eksempler:
1
2 3 4 5 6 7 8 9 10 |
indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Australien’, ‘Australien’, ‘58824’);
indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Singapore’, ‘Asien’, ‘62690’); indsæt værdier i richest_countries (land, kontinent, gdp_per_capita) (‘Danmark’, ‘Europa’, ‘63434’); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Amerikas Forenede Stater’, ‘Nordamerika’, ‘64906’); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Katar’, ‘Asien’, ‘65062’); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Island’, ‘Europa’, ‘78181’); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Irland’, ‘Europa’, ‘81477’); indsæt værdier i richest_countries (land, kontinent, gdp_per_capita) (‘Hvirvelland’, ‘Europa’,’83832′); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier (‘Norge’, ‘Europa’, ‘86362’); indsæt i richest_countries (land, kontinent, gdp_per_capita) værdier’, ‘119719’); |
Postgres Sorter efter erklæring ved hjælp af’Bestil efter’
i det følgende eksempel viser vi de rigeste lande og sorterer dem efter deres BNP pr. indbygger og returnerer posterne i faldende rækkefølge:
1
2 3 |
Vælg land, kontinent, støbt(gdp_per_capita som penge)
fra richest_countries Bestil af gdp_per_capita DESC; |
Bemærk, at ovenstående erklæring bruger CAST
i forbindelse med AS MONEY
: dette returnerer kolonneværdierne gdp_per_capita
i et USD-valutaformat. Forespørgslen sorterer derefter Postgres-posterne fra det højeste BNP pr. indbygger til det mindste:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land / kontinent / gdp_per_capita
————————–+—————+—————- Portugal | Europa | $119,719.00 Norge | Europa | $86,362.00 Hvirvelland | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 Katar | Asien | $65,062.00 Amerikas Forenede Stater | Nordamerika | $64,906.00 Danmark | Europa | $63,434.00 Singapore / Asien / $62,690. 00 Australien / Australien| $58,824.00 (10 rækker) |
sortering af poster i faldende rækkefølge med grænse
i vores næste eksempel sorterer vi de rigeste lande, men denne gang begrænser vi antallet af poster, der returneres:
1
2 3 4 |
Vælg land, kontinent, støbt(gdp_per_capita som penge)
fra richest_countries Bestil efter gdp_per_capita DESC LIMIT 5; |
denne erklæring skal returnere følgende:
1
2 3 4 5 6 7 8 |
land / kontinent / gdp_per_capita
————-+———–+—————- Portugal / Europa / $119,719.00 Norge | Europa | $86,362.00 Hvirvelland | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 (5 rækker) |
Sorter efter postgrescl-sætning ved hjælp af flere kolonner
når du bruger nøgleordene ORDER BY
, kan du sortere poster i mere end en kolonne. I dette eksempel sorterer vi de rigeste lande efter kontinent og sorterer derefter efter BNP pr. indbygger i faldende rækkefølge:
1
2 3 |
Vælg land, kontinent, støbt(gdp_per_capita som penge)
fra richest_countries Bestil efter kontinent, gdp_per_capita DESC; |
denne erklæring vil vende tilbage til følgende tabel:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land / kontinent / gdp_per_capita
————————–+—————+—————- Danmark | Asien | $65,062.00 Singapore | Asien | $62,690.00 Australien | Australien | $58,824.00 Danmark | Europa | $119,719.00 Norge | Europa | $86,362.00 Hvirvelland | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 Danmark | Europa | $63,434.00 Amerikas Forenede Stater / Nordamerika| $64,906.00 (10 rækker) |
konklusion
når du udfører en forespørgsel, kan du sortere de returnerede poster, hvilket gør dine resultater mere læsbare og hjælper dig med at få bedre indsigt fra dine data. Nøgleordene ORDER BY
giver dig mulighed for at angive en kolonne, hvor du skal sortere dine resultater; tilføjelse af DESC
– klausulen gør det nemt at sortere i faldende rækkefølge. I denne artikel forklarede vi, hvordan du bruger Postgres-ordren efter DESC-nøgleord til at sortere resultaterne af en forespørgsel. Med vores eksempler for at komme i gang, kan du bruge disse søgeord i dine egne postgraduate forespørgsler.