Bevezetés
ha információt szeretne letölteni egy PostgreSQL táblából, érdemes lehet az eredményeket egy adott sorrendben visszaküldeni. A PostgreSQL ORDER BY
kulcsszavak lehetővé teszik a rekordok rendezését az adatbázisból a választott oszlopban. Azt is megadhatja, hogy az eredményeket növekvő vagy csökkenő sorrendben rendezze-e. Ebben a cikkben megmutatjuk, hogyan rendezheti a rekordokat, és visszaküldheti őket csökkenő sorrendben a Postgres ORDER by DESC kulcsszavak segítségével.
előfeltételek
az oktatóanyag folytatása előtt meg kell győződnie arról, hogy a következő előfeltételek teljesülnek:
- PostgreSQL kell telepíteni a számítógépre annak érdekében, hogy kövesse együtt a PostgreSQL érdekében DESC példák.
- alapvető ismeretekkel kell rendelkeznie a PostgreSQL-ről, hogy a legtöbbet hozza ki ebből a cikkből.
Postgres sorrend csökkenő sorrendben
kezdjük azzal, hogy megnézzük a ORDER BY
kulcsszavak alapvető szintaxisát a DESC
záradékkal:
1
|
válassza ki a * – tól TABLE_NAME rendezés column_name DESC
|
MEGJEGYZÉS: Ha inkább növekvő sorrendben szeretné visszaadni az eredményeket, cserélje le a DESC
kulcsszót ASC
– re.
Postgres ‘ORDER BY’ example
mielőtt folytatnánk a példánkat, hozzunk létre egy táblázatot, és nevezzük el “richest_countries” – nek:
1
2 3 4 5 6 |
Táblázat létrehozása richest_countries (
id soros elsődleges kulcs, ország VARCHAR(30), kontinens VARCHAR(30), gdp_per_capita numerikus ); |
megjegyzés: a fenti CREATE TABLE
utasítás végrehajtása előtt feltétlenül hozzon létre egy adatbázist a fenti mintatáblához. Miután létrehozta az adatbázist, használhatja a \c
parancsot a psql-ben, majd az adatbázis nevét, hogy csatlakozzon hozzá.
most illesszünk be néhány rekordot a táblázatba. Ez néhány mintaadatot biztosít számunkra, amelyeket felhasználhatunk a példáinkban:
1
2 3 4 5 6 7 8 9 10 |
illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Ausztrália’, ‘Ausztrália’, ‘58824’);
illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Szingapúr’, ‘Ázsia’, ‘62690’); illessze be a leggazdagabb országokba (ország, kontinens, gdp_per_capita) értékeket (‘Dánia’, ‘Európa’, ‘63434’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Amerikai Egyesült Államok’, ‘Észak-Amerika’, ‘64906’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Katar’, ‘Ázsia’, ‘65062’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Izland’, ‘Európa’, ‘78181’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Írország’, ‘Európa’, ‘81477’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Swirver’, ‘Európa’, ‘83832’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Norvégia’, ‘Európa’, ‘86362’); illessze be a gazdagabb_országokba (ország, kontinens, gdp_per_capita) értékeket (‘Luxemburg’, ‘Európa’, ‘119719’); |
Postgres rendezés utasítás segítségével ‘ORDER BY’
a következő példában a leggazdagabb országokat jelenítjük meg, és az egy főre jutó GDP szerint rendezzük őket, a rekordokat csökkenő sorrendben visszaküldve:
1
2 3 |
válasszon országot, kontinenst, szereplőket (gdp_per_capita pénzként)
a leggazdagabb országoktól megrendelés gdp_per_capita DESC szerint; |
vegye figyelembe, hogy a fenti SQL utasítás CAST
– et használ a AS MONEY
– vel együtt: ez a gdp_per_capita
oszlopértékeket adja vissza USD pénznem formátumban. A lekérdezés ezután rendezi a Postgres rekordokat az egy főre jutó legmagasabb GDP-től a legkevesebbig:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
ország / kontinens / gdp_per_capita
————————–+—————+—————- Luxemburg | Európa | $119,719.00 Norvégia | Európa | $86,362.00 Svájc | Európa | $83,832.00 Írország | Európa | $81,477.00 Izland | Európa | $78,181.00 Katar | Ázsia | $65,062.00 Amerikai Egyesült Államok | Észak-Amerika | $64,906.00 Dánia | Európa | $63,434.00 Szingapúr / Ázsia / $62,690.00 Ausztrália / Ausztrália| $58,824.00 (10 sorok) |
rekordok rendezése csökkenő sorrendben a limit
következő példánkban a leggazdagabb országokat rendezzük, de ezúttal korlátozzuk a visszaadott rekordok számát:
1
2 3 4 |
válasszon országot, kontinenst, szereplőket (gdp_per_capita pénzként)
a leggazdagabb országoktól megrendelés gdp_per_capita DESC szerint LIMIT 5; |
ennek az állításnak a következőket kell visszaadnia:
1
2 3 4 5 6 7 8 |
ország / kontinens / gdp_per_capita
————-+———–+—————- Luxemburg | Európa | $119,719.00 Norvégia | Európa | $86,362.00 Svájc | Európa | $83,832.00 Írország | Európa | $81,477.00 Izland | Európa / $78,181.00 (5 sor) |
Rendezés PostgreSQL utasítás szerint több oszlop használatával
a ORDER BY
kulcsszavak használatakor több oszlopon is rendezheti a rekordokat. Ebben a példában a leggazdagabb országokat kontinens szerint rendezzük, majd csökkenő sorrendben az egy főre jutó GDP szerint:
1
2 3 |
válasszon országot, kontinenst, szereplőgárdát (gdp_per_capita pénzként)
a leggazdagabb országoktól megrendelés kontinens, gdp_per_capita DESC szerint; |
a fenti SQL utasítás a következő táblázatot adja vissza:
1
2 3 4 5 6 7 8 9 10 11 12 13 |
ország / kontinens / gdp_per_capita
————————–+—————+—————- Katar | Ázsia | $65,062.00 Szingapúr | Ázsia | $62,690.00 Ausztrália | Ausztrália | $58,824.00 Luxemburg | Európa | $119,719.00 Norvégia | Európa | $86,362.00 Swirver | Európa | $83,832.00 Írország | Európa | $81,477.00 Izland | Európa | $78,181.00 Dánia | Európa | $63,434.00 Amerikai Egyesült Államok | Észak-Amerika| $64,906.00 (10 sorok) |
következtetés
PostgreSQL lekérdezés végrehajtásakor a visszaadott rekordok rendezése olvashatóbbá teszi az eredményeket, és segít jobb betekintést nyerni az adatokból. A ORDER BY
kulcsszavak lehetővé teszik, hogy megadjon egy oszlopot, amelyen rendezheti az eredményeket; a DESC
záradék hozzáadásával könnyen rendezhető csökkenő sorrendben. Ebben a cikkben elmagyaráztuk, hogyan lehet a Postgres sorrendet DESC kulcsszavak szerint használni a lekérdezés eredményeinek rendezéséhez. A mi példák a kezdéshez, akkor képes lesz arra, hogy kihasználja ezeket a kulcsszavakat a saját PostgreSQL lekérdezések.