Einführung
Wenn Sie Informationen aus einer PostgreSQL-Tabelle abrufen, möchten Sie möglicherweise, dass Ihre Ergebnisse in einer bestimmten Reihenfolge zurückgegeben werden. Mit den Schlüsselwörtern PostgreSQL ORDER BY
können Sie Datensätze aus der Datenbank nach der Spalte Ihrer Wahl sortieren. Sie können auch angeben, ob die Ergebnisse in aufsteigender oder absteigender Reihenfolge sortiert werden sollen. In diesem Artikel zeigen wir Ihnen, wie Sie Datensätze sortieren und in absteigender Reihenfolge mit den Schlüsselwörtern Postgres ORDER BY DESC zurückgeben.
Voraussetzungen
Sie müssen sicherstellen, dass die folgenden Voraussetzungen vorhanden sind, bevor Sie mit diesem Lernprogramm fortfahren:
- PostgreSQL muss auf Ihrem Computer installiert sein, um unseren PostgreSQL ORDER BY DESC-Beispielen zu folgen.
- Sie sollten einige Grundkenntnisse in PostgreSQL haben, um das Beste aus diesem Artikel herauszuholen.
Postgres-REIHENFOLGE NACH absteigender
Betrachten wir zunächst die grundlegende Syntax der ORDER BY
-Schlüsselwörter mit der DESC
-Klausel:
1
|
SELECT * FROM TABELLENNAME SORTIEREN NACH Spaltenname DESC
|
HINWEIS: Wenn Sie möchten, dass Ihre Ergebnisse stattdessen in aufsteigender Reihenfolge zurückgegeben werden, ersetzen Sie einfach das Schlüsselwort DESC
durch ASC
.
Postgres ‚ORDER BY‘ Beispiel
Bevor wir mit unserem Beispiel fortfahren, erstellen wir eine Tabelle und nennen sie „richest_countries“:
1
2 3 4 5 6 |
CREATE TABLE richest_countries(
id SERIELLER PRIMÄRSCHLÜSSEL, Land VARCHAR(30), Kontinent VARCHAR(30), gdp_per_capita NUMERISCH ); |
HINWEIS: Stellen Sie sicher, dass Sie eine Datenbank für Ihre obige Beispieltabelle erstellen, bevor Sie die oben gezeigte Anweisung CREATE TABLE
ausführen. Sobald Sie Ihre Datenbank erstellt haben, können Sie den Befehl \c
in psql verwenden, gefolgt vom Datenbanknamen, um eine Verbindung herzustellen.
Nun fügen wir ein paar Datensätze in die Tabelle ein. Dadurch erhalten wir einige Beispieldaten, die wir in unseren Beispielen verwenden können:
1
2 3 4 5 6 7 8 9 10 |
INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Australia‘, ‚Australia‘, ‚58824‘);
INSERT INTO richest_countries (country, continent, gdp_per_capita) WERTE (‚Singapur‘, ‚Asien‘, ‚62690‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) WERTE (‚Dänemark‘, ‚Europa‘, ‚63434‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Vereinigte Staaten von Amerika‘, ‚Nordamerika‘, ‚64906‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Qatar‘, ‚Asia‘, ‚65062‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Island‘, ‚Europa‘, ‚78181‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Ireland‘, ‚Europe‘, ‚81477‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Schweiz‘, ‚Europa‘, ‚83832‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Norway‘, ‚Europe‘, ‚86362‘); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (‚Luxembourg‘, ‚Europe‘, ‚119719‘); |
Postgres sort by-Anweisung mit ‚ORDER BY‘
Im folgenden Beispiel werden die reichsten Länder angezeigt und nach ihrem Pro-Kopf-BIP sortiert, wobei die Datensätze in absteigender Reihenfolge zurückgegeben werden:
1
2 3 |
WÄHLEN SIE Land, Kontinent, BESETZUNG (gdp_per_capita ALS GELD)
VON richest_countries SORTIEREN NACH gdp_per_capita DESC; |
Beachten Sie, dass die obige SQL-Anweisung CAST
in Verbindung mit AS MONEY
verwendet: Dies gibt die gdp_per_capita
Spaltenwerte in einem USD-Währungsformat zurück. Die Abfrage sortiert dann die Postgres-Datensätze vom höchsten BIP pro Kopf bis zum geringsten:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land / kontinent / gdp_per_capita
————————–+—————+—————- Luxemburg / Europa | $119,719.00 Norwegen | Europa | $86,362.00 Schweiz | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 Katar | Asien | $65,062.00 Vereinigte Staaten VON Amerika | Nordamerika | $64,906.00 Dänemark | Europa | $63,434.00 Singapur / Asien / $62,690.00 Australien | Australien | $58,824.00 (10 ZEILEN) |
Sortieren von Datensätzen in absteigender Reihenfolge mit limit
In unserem nächsten Beispiel sortieren wir die reichsten Länder, aber dieses Mal begrenzen wir die Anzahl der Datensätze, die zurückgegeben werden:
1
2 3 4 |
WÄHLEN SIE Land, Kontinent, BESETZUNG (gdp_per_capita ALS GELD)
VON richest_countries SORTIEREN NACH gdp_per_capita DESC LIMIT 5; |
Diese Anweisung sollte Folgendes zurückgeben:
1
2 3 4 5 6 7 8 |
land / kontinent / gdp_per_capita
————-+———–+—————- Luxemburg / Europa / $119,719.00 Norwegen | Europa | $86,362.00 Schweiz | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 (5 REIHEN) |
Sort by PostgreSQL-Anweisung unter Verwendung mehrerer Spalten
Wenn Sie die Schlüsselwörter ORDER BY
verwenden, können Sie Datensätze in mehr als einer Spalte sortieren. In diesem Beispiel sortieren wir die reichsten Länder nach Kontinent und dann nach dem BIP pro Kopf in absteigender Reihenfolge:
1
2 3 |
Land, Kontinent, WÄHRUNG AUSWÄHLEN(gdp_per_capita AS MONEY)
FROM richest_countries SORTIEREN NACH Kontinent, gdp_per_capita DESC; |
Die obige SQL-Anweisung gibt die folgende Tabelle zurück:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
land / kontinent / gdp_per_capita
————————–+—————+—————- Katar | Asien | $65,062.00 Singapur | Asien | $62,690.00 Australien | Australien | $58,824.00 Luxemburg | Europa | $119,719.00 Norwegen | Europa | $86,362.00 Schweiz | Europa | $83,832.00 Irland | Europa | $81,477.00 Island | Europa | $78,181.00 Dänemark | Europa | $63,434.00 Vereinigte Staaten VON Amerika | Nordamerika | $64,906.00 (10 ZEILEN) |
Fazit
Wenn Sie eine PostgreSQL-Abfrage ausführen, können Sie die zurückgegebenen Datensätze sortieren, um die Lesbarkeit Ihrer Ergebnisse zu verbessern und bessere Einblicke in Ihre Daten zu erhalten. Mit den ORDER BY
-Schlüsselwörtern können Sie eine Spalte angeben, nach der Ihre Ergebnisse sortiert werden sollen. Das Hinzufügen der DESC
-Klausel erleichtert das Sortieren in absteigender Reihenfolge. In diesem Artikel haben wir erklärt, wie Sie die Schlüsselwörter Postgres ORDER BY DESC verwenden, um die Ergebnisse einer Abfrage zu sortieren. Mit unseren Beispielen zum Einstieg können Sie diese Schlüsselwörter in Ihren eigenen PostgreSQL-Abfragen verwenden.