wprowadzenie
podczas pobierania informacji z tabeli PostgreSQL możesz chcieć, aby wyniki były zwracane w określonej kolejności. Słowa kluczowe PostgreSQL ORDER BY
umożliwiają sortowanie rekordów z bazy danych w wybranej kolumnie. Możesz także określić, czy wyniki mają być sortowane w porządku rosnącym czy malejącym. W tym artykule pokażemy, jak sortować rekordy i zwracać je w kolejności malejącej za pomocą kolejności Postgres według słów kluczowych DESC.
wymagania wstępne
przed przystąpieniem do tego samouczka musisz upewnić się, że obowiązują następujące wymagania wstępne:
- PostgreSQL musi być zainstalowany na twoim komputerze, aby postępować zgodnie z naszym porządkiem PostgreSQL przez DESC examples.
- powinieneś mieć podstawową wiedzę na temat PostgreSQL, aby jak najlepiej wykorzystać ten artykuł.
kolejność Postgresów malejąco
zacznijmy od spojrzenia na podstawową składnię słów kluczowych ORDER BY
z klauzulą DESC
:
1
|
SELECT * FROM TABLE_NAME ORDER BY column_name DESC
|
UWAGA: Jeśli chcesz, aby wyniki były zwracane w kolejności rosnącej, po prostu zastąp słowo kluczowe DESC
słowem kluczowym ASC
.
Postgres 'ORDER BY’ example
zanim przejdziemy do naszego przykładu, stwórzmy tabelę i nazwijmy ją „richest_countries”:
1
2 3 4 5 6 |
Utwórz tabelę richest_countries (
ID szeregowy klucz podstawowy, country VARCHAR (30), continent VARCHAR(30), gdp_per_capita NUMERIC ); |
UWAGA: Przed wykonaniem powyższej instrukcji CREATE TABLE
należy utworzyć bazę danych dla przykładowej tabeli. Po utworzeniu bazy danych możesz użyć polecenia \c
w psql, a następnie nazwy bazy danych, aby połączyć się z nią.
teraz wstawmy kilka rekordów do tabeli. Dostarczy nam to przykładowych danych do wykorzystania w naszych przykładach:
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) VALUES (’Singapore’, 'Asia’, '62690′); INSERT INTO powiaty values („Dania”, „Europa”, „63434”); INSERT INTO powiaty VALUES (country, continent, gdp_per_capita) („Stany Zjednoczone Ameryki”, „Ameryka Północna’, '64906′); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (’Katar’, 'Azja’, '65062′); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (’Islandia’, 'Europa’, '78181′); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (’Irlandia’, 'Europa’, '81477′); INSERT INTO powiaty values („Swirzerland”, „Europa”, „83832”); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (’Norwegia’, 'Europa’, '86362′); INSERT INTO richest_countries (country, continent, gdp_per_capita) VALUES (’Luksemburg’, 'Europa’, '119719′); |
Postgres sort by statement using’ORDER BY’
w poniższym przykładzie wyświetlimy najbogatsze kraje i posortujemy je według ich PKB na mieszkańca, zwracając rekordy w kolejności malejącej:
1
2 3 |
wybierz kraj, kontynent, obsadę(gdp_per_capita jako pieniądze)
z richest_countries Zamów przez gdp_per_capita DESC; |
zauważ, że powyższe polecenie SQL używa CAST
w połączeniu z AS MONEY
: zwraca wartości kolumn gdp_per_capita
w formacie waluty USD. Następnie zapytanie sortuje rekordy Postgres od najwyższego PKB na mieszkańca do najmniejszego:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
kraj / kontynent / pkb_per_capita
————————–+—————+—————- Luksemburg | Europa | $119,719.00 Norwegia | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Irlandia | Europa | $81,477.00 Islandia | Europa | $78,181.00 Katar | Azja | $65,062.00 Stany Zjednoczone Ameryka | Ameryka Północna | $64,906.00 Dania | Europa | $63,434.00 Singapur | Azja / $62,690.00 Australia / Australia| $58,824.00 (10 wiersze) |
sortowanie rekordów w porządku malejącym z limitem
w następnym przykładzie posortujemy najbogatsze kraje, ale tym razem ograniczymy liczbę zwracanych rekordów:
1
2 3 4 |
wybierz kraj, kontynent, Obsada(gdp_per_capita jako pieniądze)
z richest_countries Zamów przez gdp_per_capita DESC LIMIT 5; |
to oświadczenie powinno zwracać następujące informacje:
1
2 3 4 5 6 7 8 |
kraj / kontynent / pkb_per_capita
————-+———–+—————- Luksemburg | Europa | $119,719.00 Norwegia / Europa / $86,362.00 Swirzerland | Europa | $83,832.00 Irlandia | Europa | $81,477.00 Islandia | Europa | $78,181.00 (5 wierszy) |
Sortuj według instrukcji PostgreSQL za pomocą kilku kolumn
gdy używasz słów kluczowych ORDER BY
, możesz sortować rekordy w więcej niż jednej kolumnie. W tym przykładzie posortujemy najbogatsze kraje według kontynentów, a następnie posortujemy według PKB na mieszkańca w porządku malejącym:
1
2 3 |
wybierz kraj, kontynent, Obsada(pkb_per_capita jako pieniądze)
z richest_countries zamów według kontynentu, pkb_per_capita DESC; |
powyższe polecenie SQL zwróci następującą tabelę:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
kraj / kontynent / pkb_per_capita
————————–+—————+—————- Katar | Azja | $65,062.00 Singapur | Azja | $62,690.00 Australia | Australia | $58,824.00 Luksemburg | Europa | $119,719.00 Norwegia | Europa | $86,362.00 Swirzerland | Europa | $83,832.00 Irlandia | Europa | $81,477.00 Islandia | Europa | $78,181.00 Dania | Europa | $63,434.00 Stany Zjednoczone Ameryki / Ameryka Północna| $64,906.00 (10 wiersze) |
wniosek
kiedy wykonujesz zapytanie PostgreSQL, możliwość sortowania zwróconych rekordów sprawia, że wyniki są bardziej czytelne i pomagają uzyskać lepszy wgląd w dane. Słowa kluczowe ORDER BY
pozwalają określić kolumnę, w której mają być sortowane wyniki; dodanie klauzuli DESC
ułatwia sortowanie w porządku malejącym. W tym artykule wyjaśniliśmy, jak używać kolejności Postgres według słów kluczowych DESC do sortowania wyników zapytania. Dzięki naszym przykładom na początek będziesz mógł wykorzystać te słowa kluczowe we własnych zapytaniach PostgreSQL.