Introduksjon
når du utfører en spørring I PostgreSQL, vil du kanskje at resultatene dine kommer tilbake i en bestemt rekkefølge. Sortering etter dato er en av de vanligste måtene å bestille resultater på. I denne artikkelen vil vi forklare hvordan du utfører en psql sorter etter dato spørring, ved hjelp av ORDER BY
– klausulen for å angi vår valgte sorteringsrekkefølge iSELECT
– setningen.
Forutsetninger
før du begynner denne opplæringen, må Du kontrollere At PostgreSQL er installert og konfigurert på maskinen din. Du bør også ha litt kjennskap Til PostgreSQL for å følge med eksemplene i denne artikkelen.
Få Tilgang Til Kommandolinjegrensesnittet
for å utføre spørringer i psql
, må du logge inn som «postgres» superbruker. Du vil da bruke kommandoen psql
for å koble til kommandolinjekonsollen.
først skriver du inn kommandoen som vises nedenfor:
du blir bedt om et passord. Skriv inn det og bruk kommandoen psql
for å begynne å spørre data I PostgreSQL-databasen.
PostgreSQL Sorter Etter Dato
for å utføre en spørring som er sortert etter dato, bruker du ORDER BY
– setningen i SELECT
– setningen. Denne klausulen lar deg sortere rader i stigende eller synkende rekkefølge basert på de angitte kriteriene.
Som standard returneres PostgreSQL-spørringer i en uspesifisert rekkefølge. Derfor kan du kontrollere hvordan resultatene sorteres ved å bruke ORDER BY
.
Opprette En Database I PostgreSQL
La oss begynne med å lage En PostgreSQL database. Senere oppretter vi en tabell i denne databasen med eksempeldata som vi kan bruke i eksemplene våre.
for å opprette en ny database kan vi bruke følgende kommando:
1
|
OPPRETT DATABASEBEREGNINGER;
|
hvis du vil se en liste over alle databaser, bruk kommandoen\l
.
for å koble til den nye databasen, skriv inn \c
etterfulgt av databasenavnet. Du får et svar Fra PostgreSQL at du nå er koblet til databasen.
Opprette Et Bord I PostgreSQL
for å opprette et nytt bord bruker viCREATE TABLE
– setningen. Den grunnleggende syntaksen til denne setningen er vist nedenfor:
1
2 |
OPPRETT TABELL TABLE_NAME( COL NAVN +
datatype + col_constraint); |
1
2 3 4 5 |
OPPRETT TABELLSAMLING(
navn due_date dato, collection_date dato); |
legg merke til at tabellnavnet alltid kommer etter CREATE TABLE
uttalelse. Etter det kommer listen over kolonnenavn, deres datatyper og eventuelle valgfrie begrensninger.
Sette Inn Data I PostgreSQL-Tabellen
nå som vi opprettet et bord, la oss bruke en INSERT INTO
1
2 |
sett inn i table_navn(col_1, col_2 . . . ,) VERDIER
(value_1, value_2. . . ,); |
MERK: når du viser verdier som skal settes inn, bør de være i samme rekkefølge som deres respektive kolonnenavn.
1
2 3 4 5 6 7 |
name | billing_date | due_date | collection_date
———-+————–+————+—————– sally | 2020-01-02 | 2020-01-05 | 2020-01-10 jeremiah | 2020-01-03 | 2020-01-06 | 2020-01-20 ensim | 2020-01-01 | 2020-01-09 | 2020-01-06 joven | 2020-01-05 | 2020-01-12 | 2020-01-07 (4 ROWS) |
You can see the unspecified order of dates in eksemplet ovenfor.
Sortering Av Datoen i En PostgreSQL-Tabell
i PostgreSQL krever sortering etter dato ORDER BY
– klausulen, som brukes sammen med enSELECT
– setning.
syntaksen forORDER BY
klausul er:
1
2 3 |
velg col_1,col_2…, FRA TABLE_NAME
BESTILL etter col_1, col_2 …, |
Sortering Av Datoen I Synkende Rekkefølge
nå som vi forstår hvordan ORDER BY
klausulen fungerer for å kontrollere sortering, la oss se på et eksempel hvor vi sortererbilling_date
i synkende rekkefølge:
1
2 3 |
velg billing_date,
fra samlingen bestill etter billing_date synkende; |
resultatet av denne spørringen vil være:
1
2 3 4 5 6 7 |
billing_date
————– 2020-01-05 2020-01-03 2020-01-02 2020-01-01 (4 rows) |
Sorting the Date in Ascending Order
In PostgreSQL, it’s possible to use the ORDER BY
clause to sort the date in either ascending or descending order. Når du bruker ORDER BY
– klausulen, brukes stigende rekkefølge som standard når ingenASC
ellerDESC
modifier er angitt.
La oss se på et eksempel:
1
|
due_date asc;
|
dette eksemplet skal returnere poster sortert etterdue_date
– feltet i stigende rekkefølge.
Resultatet av denne spørringen vil være:
1
2 3 4 5 6 7 |
due_date
———— 2020-01-05 2020-01-06 2020-01-09 2020-01-12 (4 rader) |
NOTAT: du kan utelateASC
attributtet fraORDER BY
– klausulen når du sorterer i stigende rekkefølge siden stigende attributt er angitt som standard.
Sortering Etter Dato i Flere Kolonner
du kan til og med bruke ORDER BY
– klausulen for å sortere på flere kolonner I PostgreSQL.
La oss si at vi vil sortere etter _duedate i stigende rekkefølge, men sorter etter _collectiondate i synkende rekkefølge. Vi vil bruke SELECT
setningen vist nedenfor:
1
2 3 4 |
velg due_date,collection_date
fra samling rekkefølge etter due_date asc, collection_date desc; |
utgangen vil se slik ut:
1
2 3 4 5 6 7 |
due_date | collection_date
————+—————– 2020-01-05 | 2020-01-10 2020-01-06 | 2020-01-20 2020-01-09 | 2020-01-06 2020-01-12 | 2020-01-07 (4 rows) |
It’s clear that both sort orders specified in the ORDER BY
clause are apparent in the query results.
Sorteringsdato ved HJELP AV WHERE-Klausul I PostgreSQL
I PostgreSQL kan du også sortere data ved hjelp av en WHERE
– klausul i SELECT
– setning. Dette vil tillate deg å filtrere ut rader som du ikke vil ha med i resultatene.
syntaksen for denne typen spørring er vist nedenfor:
1
2 |
VELG column_name fra tabell
bestill etter column_name; |
Here’s an example of how it works:
1
2 3 |
SELECT billing_date FROM collection
WHERE name = ‘joven’ ORDER BY billing_date ASC; |
For this example, the output would be:
1
2 3 4 |
billing_date
————– 2020-01-05 (1 rad) |
Legg Merke til atORDER BY
– klausulen returnerte postene sortert etter faktureringsdato-feltet i stigende rekkefølge, ogWHERE
klausulen begrenset resultater til de somname
feltet var lik ‘joven’ icollection
tabellen.
Konklusjon
hvis du trenger at spørringsresultatene returneres i en bestemt rekkefølge, gir ORDER BY
– klausulen en enkel måte å få jobben gjort på. I denne artikkelen viste vi deg hvordan du utfører en psql sorter etter datospørring, og legger tilORDER BY
– klausulen til enSELECT
– setning for å angi en bestemt sorteringsrekkefølge. Med våre eksempler for å veilede deg, vil du være i stand til å lage Dine Egne PostgreSQL spørringer som er sortert etter dato.