Indledning
I PostgreSQL returnerer COUNT()
-funktionen antallet af rækker i en angivet tabel, og en SELECT
-anvisning returnerer poster, der matcher de angivne forespørgselsbetingelser. Hvis du bruger denne funktion og denne erklæring sammen, kan du tage dine PostgreSQL-forespørgsler til det næste niveau og returnere antallet af poster, der opfylder de kriterier, der er angivet i forespørgslen. I denne artikel viser vi, hvordan du bruger Postgres COUNT og SELECT i tandem for at finde ud af, hvor mange poster der returneres fra en given forespørgsel.
Forudsætninger
Hvor du går videre med denne vejledning, skal du sikre dig, at PostgreSQL er installeret på din computer. Du skal bruge databasen til at udføre dine SELECT COUNT
-angivelser. Du skal også have et vist indledende kendskab til PostgreSQL for at kunne følge med i eksemplerne i denne artikel.
PostgreSQL COUNT SELECT
Følgende syntaks bruges, når COUNT()
-funktionen bruges sammen med en SELECT
-anvisning:
1
|
SELECT COUNT ( , ) FROM TABLE_NAME;
|
Lad os grave lidt dybere ned i syntaksen vist ovenfor:
-
SELECT
– Dette bruges til at vælge visse kolonner fra databasen. -
COUNT
– Dette bruges til at tælle antallet af poster i denne tabel. -
DISTINCT
– Denne klausul bruges til at fjerne dubletter fra de returnerede poster. -
Asterisk (*)
– Brug af stjernen svarer til at vælge alle kolonnerne i en tabel. -
column_name
– Dette repræsenterer navnet på den kolonne, som du ønsker at tælle posterne for. -
table_name
– Dette repræsenterer navnet på den tabel, som du ønsker at tælle posterne for.
PostgreSQL Count Function Examples
Vi vil bruge en tabel ved navn countries
i vores eksempler:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
country_id | country_name | continent | code
————+————————–+—————+—— 35 | Sydafrika | Afrika | AF 14 | Canada | Nordamerika | NA 51 | Cuba | Nordamerika | NA 41 | Mexico | Nordamerika | NA 45 | Amerikas Forenede Stater | Nordamerika | NA 85 | Argentina | Sydamerika | SA 37 | Venezuela | Sydamerika | SA 63 | Filippinerne | Filippinerne | SA 63 Asien | AS 83 | Kina | Asien | Asien | AS 22 | Rusland | Asien | AS 21 | Forenede Arabiske Emirater | Asien | AS 62 | Tyskland | Europa | EU 73 | Italien | Europa | Europa | EU 28 | Det Forenede Kongerige | Europa | EU |
SELECT COUNT all example
For vores første eksempel, vil vi tælle antallet af rækker i tabellen:
1
|
SELECT COUNT(*) AS number_of_rows FROM countries;
|
Resultatet af denne forespørgsel vil se ud som følger:
1
2 3 |
number_of_rows
—————- 14 |
Bemærk, at vi har brugt et alias ved at inkludere AS
-klausulen for at angive det nye navn på kolonnen.
Resultatet indeholder kun én kolonne, da de eneste data, der returneres, er antallet af rækker i tabellen.
COUNT kolonne eksempel
Næst skal vi prøve at tælle antallet af rækker i en angivet kolonne.
1
|
SELECT COUNT(“country_name”) AS number_of_rows FROM countries;
|
Resultatet af denne forespørgsel kan ses nedenfor:
1
2 3 |
number_of_rows
—————- 14 |
Resultatet er det samme som i det første eksempel, da denne forespørgsel også tæller det samlede antal rækker i tabellen.
Tælle særskilt eksempel
Lad os prøve et mere komplekst eksempel denne gang. Vi bruger DISTINCT
-klausulen og tæller antallet af rækker i kolonnen med navnet “continent”:
1
|
SELECT COUNT( DISTINCT continent ) FROM countries;
|
Resultatet af denne forespørgsel vil være en smule anderledes:
1
2 3 |
COUNT
——- 5 |
I denne forespørgsel er resultatet kun fem, fordi DISTINCT
-funktionen fjerner eventuelle dublerede værdier, der findes i posterne.
COUNT GROUP BY
Vores næste eksempel vil gøre brug af GROUP BY
-klausulen. Vi tæller antallet af rækker for hver værdi, der findes i kolonnen med navnet “code”:
1
2 3 |
SELECT code, COUNT(code)
FROM countries GROUP BY code; |
Her er resultatet af vores forespørgsel:
1
2 3 4 5 6 7 |
kode | COUNT
——+——- NA | 4 SA | 2 AF | 1 AS | 4 EU | 3 |
Konklusion
Når du forespørger på en PostgreSQL tabel, er der tidspunkter, hvor du har brug for antallet af poster, der matcher visse betingelser mere end du har brug for de faktiske poster selv. Ved at bruge Postgres COUNT og SELECT sammen kan du få de resultater, du har brug for. I denne artikel har vi givet flere eksempler, der bruger PostgreSQL SELECT
-angivelsen sammen med COUNT()
-funktionen. Hvis du følger med i disse eksempler, vil du være forberedt på at oprette lignende forespørgsler til dine egne PostgreSQL-tabeller.