Postgres ORDER BY DESC

introduktion

när du hämtar information från en PostgreSQL-tabell kanske du vill att dina resultat ska returneras i en viss ordning. Med PostgreSQL ORDER BY – nyckelorden kan du sortera poster från databasen i den kolumn du väljer. Du kan också ange om du vill att dina resultat ska sorteras i stigande eller fallande ordning. I den här artikeln visar vi hur du sorterar poster och returnerar dem i fallande ordning med Postgres-ordningen efter DESC-nyckelord.

förutsättningar

du måste se till att följande förutsättningar är på plats innan du fortsätter med denna handledning:

  • PostgreSQL måste installeras på din dator för att följa med vår PostgreSQL ORDER BY DESC examples.
  • du bör ha några grundläggande kunskaper i PostgreSQL för att få ut det mesta av den här artikeln.

Postgres ORDER by descending

Låt oss börja med att titta på den grundläggande syntaxen för ORDER BY nyckelord med DESC klausulen:

1
välj * från tabellnamn ordning efter kolumnnamn DESC

OBS: Om du vill ha dina resultat returneras i stigande ordning istället, bara ersätta DESC sökord med ASC.

Postgres ’ORDER BY’ exempel

innan vi fortsätter med vårt exempel, låt oss skapa en tabell och namnge den ”richest_countries”:

1
2
3
4
5
6
Skapa tabell richest_countries (
ID seriell primärnyckel,
land VARCHAR (30),
kontinent VARCHAR(30),
gdp_per_capita numerisk
);

OBS!: var noga med att skapa en databas för exempeltabellen ovan innan du kör CREATE TABLE – satsen som visas ovan. När du har skapat din databas kan du använda kommandot \c i psql, följt av databasnamnet, för att ansluta till den.

låt oss nu infoga några poster i tabellen. Detta kommer att ge oss några exempeldata att använda i våra exempel:

1
2
3
4
5
6
7
8
9
10
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Australien’, ’Australien’, ’58824’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Singapore’, ’Asien’, ’62690’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Danmark’, ’Europa’, ’63434’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Amerikas förenta stater’, ’Nordamerika’, ’64906’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Qatar’, ’Asien’, ’65062’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Island’, ’Europa’, ’78181’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Irland’, ’Europa’, ’81477’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Swirschweiz’, ’Europa’, ’83832’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Norge’, ’Europa’, ’86362’);
infoga i richest_countries (land, kontinent, gdp_per_capita) värden (’Luxemburg’, ’Europa’, ’119719’);

skärmdump av ett Postgres create database SQL-uttalande för en Postgres ORDER BY DESC-exempel

Postgres Sortera efter uttalande med ’ORDER BY’

i följande exempel visar vi de rikaste länderna och sorterar dem efter deras BNP per capita och returnerar posterna i fallande ordning:

1
2
3
välj land, kontinent, CAST (gdp_per_capita som pengar)
från richest_countries
Beställ av gdp_per_capita DESC;

Observera att ovanstående SQL-sats använder CAST i samband med AS MONEY: detta returnerar kolumnvärdena gdp_per_capita i ett USD-valutaformat. Frågan sorterar sedan Postgres-posterna från den högsta BNP per capita till minst:

1
2
3
4
5
6
7
8
9
10
11
12
13
land | kontinent / gdp_per_capita
————————–+—————+—————-
Luxemburg | Europa | $119,719.00
Norge | Europa | $86,362.00
Swirschweiz | Europa | $83,832.00
Irland | Europa | $81,477.00
Island | Europa | $78,181.00
Qatar | Asien | $65,062.00
Amerikas förenta stater | Nordamerika | $64,906.00
Danmark | Europa | $63,434.00
Singapore / Asien / $62,690. 00
Australien / Australien| $58,824.00
(10 rader)

Sortera poster i fallande ordning med limit

i vårt nästa exempel sorterar vi de rikaste länderna, men den här gången begränsar vi antalet poster som kommer att returneras:

1
2
3
4
välj land, kontinent, CAST (gdp_per_capita som pengar)
från richest_countries
Beställ av gdp_per_capita DESC
gräns 5;

detta uttalande bör returnera följande:

1
2
3
4
5
6
7
8
land | kontinent / gdp_per_capita
————-+———–+—————-
Luxemburg / Europa / $119,719.00
Norge | Europa | $86,362.00
Swirschweiz | Europa | $83,832.00
Irland | Europa | $81,477.00
Island | Europa | $78,181.00
( 5 rader)

skärmdump av ett PostgreSQL-cast-eller Postgres-cast-exempel med Postgres ORDER BY DESC-klausulen

Sortera efter PostgreSQL-uttalande med flera kolumner

när du använder nyckelorden ORDER BY kan du sortera poster i mer än en kolumn. I det här exemplet sorterar vi de rikaste länderna efter kontinent och sorterar sedan efter BNP per capita i fallande ordning:

1
2
3
välj land, kontinent, CAST(gdp_per_capita som pengar)
från richest_countries
Beställ efter kontinent, gdp_per_capita DESC;

ovanstående SQL-sats returnerar följande tabell:

1
2
3
4
5
6
7
8
9
10
11
12
13
land | kontinent / gdp_per_capita
————————–+—————+—————-
Qatar | Asien | $65,062.00
Singapore | Asien | $62,690.00
Australien | Australien | $58,824.00
Luxemburg | Europa | $119,719.00
Norge | Europa | $86,362.00
Swirschweiz | Europa | $83,832.00
Irland | Europa | $81,477.00
Island | Europa | $78,181.00
Danmark | Europa | $63,434.00
Amerikas förenta stater / Nordamerika| $64,906.00
(10 rader)

slutsats

när du kör en PostgreSQL-fråga, att kunna sortera de returnerade posterna gör dina resultat mer läsbara och hjälper dig att få bättre insikter från dina data. Med ORDER BY – nyckelorden kan du ange en kolumn för att sortera dina resultat.genom att lägga till DESC – klausulen blir det enkelt att sortera i fallande ordning. I den här artikeln förklarade vi hur man använder Postgres-ordningen efter DESC-nyckelord för att sortera resultaten av en fråga. Med våra exempel för att komma igång kan du använda dessa nyckelord i dina egna PostgreSQL-frågor.

Lämna ett svar

Din e-postadress kommer inte publiceras.