Inleiding
wanneer u informatie uit een PostgreSQL-tabel opvraagt, wilt u mogelijk dat uw resultaten in een bepaalde volgorde worden geretourneerd. Met de sleutelwoorden PostgreSQL ORDER BY
kunt u records sorteren uit de database in de kolom van uw keuze. U kunt ook opgeven of u wilt dat uw resultaten gesorteerd in oplopende of aflopende volgorde. In dit artikel laten we u zien hoe u records kunt sorteren en retourneren in aflopende volgorde met behulp van de Postgres-volgorde op DESC-trefwoorden.
vereisten
controleer of de volgende vereisten aanwezig zijn voordat u verder gaat met deze tutorial:
- PostgreSQL moet worden geà nstalleerd op uw computer om te volgen samen met onze PostgreSQL ORDER BY DESC voorbeelden.
- u moet enige basiskennis van PostgreSQL hebben om het meeste uit dit artikel te halen.
Postgres volgorde door af te dalen
laten we beginnen door te kijken naar de basis syntaxis van de ORDER BY
sleutelwoorden met de DESC
clausule:
1
|
selecteer * uit TABEL_NAAM volgorde op kolomnaam DESC
|
Opmerking: Als u uw resultaten in oplopende volgorde wilt retourneren, vervang dan gewoon het DESC
sleutelwoord door ASC
.
Postgres’ ORDER BY ‘voorbeeld
voordat we verder gaan met ons voorbeeld, maken we een tabel en noemen het “richest_countries”:
1
2 3 4 5 6 |
TABEL MAKEN richest_countries(
id SERIAL PRIMAIRE SLEUTEL, land VARCHAR(30), continent VARCHAR(30), gdp_per_capita NUMERIEKE ); |
OPMERKING: zorg ervoor dat het maken van een database voor uw monster bovenstaande tabel voor de uitvoering van de CREATE TABLE
instructie hierboven. Als je eenmaal je database hebt aangemaakt, kun je het \c
commando in psql gebruiken, gevolgd door de naam van de database, om er verbinding mee te maken.
laten we nu een paar records invoegen in de tabel. Dit zal ons voorzien van een aantal gegevens te gebruiken in onze voorbeelden:
1
2 3 4 5 6 7 8 9 10 |
PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Australië’, ‘Australië’, ‘58824’);
PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Singapore’, ‘Azië’, ‘62690’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Denmark’, ‘Europa’, ‘63434’); INVOEGEN IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Verenigde Staten van Amerika’, ‘Noord-Amerika’, ‘64906’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Qatar’, ‘Azië’, ‘65062’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Ijsland’, ‘Europa’, ‘78181’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Ierland’, ‘Europa’, ‘81477’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Swirzerland’, ‘Europa’, ‘83832’); INVOEGEN IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Noorwegen’, ‘Europa’, ‘86362’); PLAATS IN richest_countries (land, continent, gdp_per_capita) VALUES (‘Luxembourg’, ‘Europa’, ‘119719’); |
Postgres sorteren door de instructie met behulp van de ‘ORDER BY’
In het volgende voorbeeld, zullen we weer de rijkste landen en sorteren ze door hun BBP per hoofd van de bevolking, de terugkeer van de records in aflopende volgorde:
1
2 3 |
Selecteer land, continent, CAST (gdp_per_capita AS MONEY)
FROM richest_countries ORDER BY GDP_PER_CAPITA DESC; |
merk op dat het bovenstaande SQL-overzicht CAST
gebruikt in combinatie met AS MONEY
: dit retourneert de gdp_per_capita
kolomwaarden in een USD-valuta-indeling. De query sorteert dan de Postgres records van het hoogste BBP per hoofd van de Bevolking naar het minst:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land | continent | gdp_per_capita
————————–+—————+—————- Luxemburg | Europa | $119,719.00 Noorwegen | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Ierland | Europa | $81,477.00 Ijsland | Europa | $78,181.00 Qatar | Asia | $65,062.00 Verenigde Staten VAN Amerika | Noord-Amerika | $64,906.00 Denemarken | Europa | $63,434.00 Singapore | Asia | $62,690.00 Australia | Australië| $58,824.00 (10 RIJEN) |
records Sorteren in aflopende volgorde met limiet
In het volgende voorbeeld zullen we sorteren de rijkste landen, maar dit keer zullen we het aantal records beperken dat wordt geretourneerd:
1
2 3 4 |
SELECTEER een land, continent, CAST(gdp_per_capita ALS GELD)
VAN richest_countries OM DOOR gdp_per_capita DESC LIMIET van 5; |
Deze verklaring moet de volgende:
1
2 3 4 5 6 7 8 |
land | continent | gdp_per_capita
————-+———–+—————- Luxemburg | Europa | $119,719.00 Noorwegen | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Ierland | Europa | $81,477.00 Ijsland | Europa | $78,181.00 (5 rijen) |
Sorteer op PostgreSQL statement met behulp van meerdere kolommen
wanneer u de ORDER BY
sleutelwoorden gebruikt, kunt u records sorteren op meer dan één kolom. In dit voorbeeld Sorteren we de rijkste landen op continent en dan Sorteren we op BBP per hoofd in dalende volgorde:
1
2 3 |
Selecteer land, continent, CAST (gdp_per_capita AS MONEY)
FROM richest_countries volgorde per continent, GDP_PER_CAPITA DESC; |
het bovenstaande SQL statement geeft de volgende tabel terug:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land | continent | gdp_per_capita
————————–+—————+—————- Qatar | Asia | $65,062.00 Singapore | Asia | $62,690.00 Australia | Australië | $58,824.00 Luxemburg | Europa | $119,719.00 Noorwegen | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Ierland | Europa | $81,477.00 Ijsland | Europa | $78,181.00 Denemarken | Europa | $63,434.00 Verenigde Staten / Noord-Amerika| $64,906.00 (10 rijen) |
conclusie
wanneer u een PostgreSQL-query uitvoert, maakt het sorteren van de geretourneerde records uw resultaten leesbaarder en helpt u betere inzichten uit uw gegevens te verkrijgen. Met de ORDER BY
sleutelwoorden kunt u een kolom opgeven waarop u uw resultaten wilt sorteren; door de DESC
– clausule toe te voegen, kunt u eenvoudig sorteren in aflopende volgorde. In dit artikel, we uitgelegd hoe u de Postgres volgorde door desc trefwoorden gebruiken om de resultaten van een query Sorteren. Met onze voorbeelden om u op weg te helpen, zult u in staat zijn om deze zoekwoorden te gebruiken in uw eigen PostgreSQL queries.