Bevezetés
A PostgreSQL-ben a COUNT()
függvény a megadott táblázatban lévő sorok számát adja vissza, a SELECT
utasítás pedig a megadott lekérdezési feltételeknek megfelelő rekordokat adja vissza. A függvény és az utasítás együttes használatával a PostgreSQL lekérdezéseit magasabb szintre emelheti, és visszaadhatja a lekérdezésben megadott feltételeknek megfelelő rekordok számát. Ebben a cikkben megmutatjuk, hogyan használhatjuk a Postgres COUNT és SELECT funkciót együttesen, hogy megtudjuk, hány rekordot ad vissza egy adott lekérdezés.
Előfeltételek
Mielőtt továbbhaladna ezzel a bemutatóval, győződjön meg róla, hogy a PostgreSQL telepítve van a számítógépén. Szükséged lesz az adatbázis használatára az SELECT COUNT
utasítások végrehajtásához. Szükséged lesz továbbá némi bevezető ismeretre a PostgreSQL-ről ahhoz, hogy követni tudd a cikkben szereplő példákat.
PostgreSQL COUNT SELECT
A következő szintaxis akkor használható, ha a COUNT()
függvényt egy SELECT
utasítással együtt használjuk:
1
|
SELECT COUNT ( , ) FROM TABLE_NAME;
|
Mélyedjünk el egy kicsit a fent látható szintaxisban:
-
SELECT
– Ezt bizonyos oszlopok kiválasztására használjuk az adatbázisból. -
COUNT
– Ezt arra használjuk, hogy megszámoljuk a táblázatban lévő rekordok számát. -
DISTINCT
– Ezt a záradékot arra használjuk, hogy a visszaadott rekordokból kiszűrjük a duplikátumokat. -
Asterisk (*)
– A csillag használata egyenértékű a táblázat összes oszlopának kiválasztásával. -
column_name
– Ez annak az oszlopnak a neve, amelynek a rekordjait meg kívánja számolni. -
table_name
– Ez annak a táblának a neve, amelynek a rekordjait meg kívánja számolni.
PostgreSQL Count Function Examples
Példáinkban egy countries
nevű táblát fogunk használni:
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
country_id | country_name | continent | code
————+————————–+—————+—— 35 | Dél-Afrika | Afrika | AF 14 | Kanada | Észak-Amerika | NA 51 | Kuba | Észak-Amerika | NA 41 | Mexikó | Észak-Amerika | NA 45 | Amerikai Egyesült Államok | Észak-Amerika | NA 85 | Argentina | Dél-Amerika | SA 37 | Venezuela | Dél-Amerika | SA 63 | Fülöp-szigetek | Ázsia | AS 83 | Kína | Ázsia | AS 22 | Oroszország | Ázsia | AS 21 | Egyesült Arab Emírségek | Ázsia | AS 62 | Németország | Európa | EU 73 | Olaszország | Európa | EU 28 | Egyesült Királyság | Európa | EU |
SELECT COUNT all example
Az első példánkhoz, megszámoljuk a táblázatban lévő sorok számát:
1
|
SELECT COUNT(*) AS number_of_rows FROM countries;
|
A lekérdezés eredménye a következőképpen fog kinézni:
1
2 3 |
number_of_rows
—————- 14 |
Figyeljük meg, hogy az AS
záradék beépítésével aliast használtunk az oszlop új nevének megadásához.
Az eredmény csak egy oszlopot tartalmaz, mivel az egyetlen visszaadott adat a táblázatban lévő sorok száma.
COUNT oszlop példa
A következőkben próbáljuk meg megszámolni a sorok számát egy megadott oszlopban.
1
|
SELECT COUNT(“country_name”) AS number_of_rows FROM countries;
|
A lekérdezés eredménye alább látható:
1
2 3 |
number_of_rows
—————- 14 |
Az eredmény megegyezik az első példával, mivel ez a lekérdezés is a táblázatban lévő összes sort számolja.
Count distinct példa
Próbáljunk meg ezúttal egy összetettebb példát. Használjuk a DISTINCT
záradékot, és megszámoljuk a “kontinens” nevű oszlop sorainak számát:
1
|
SELECT COUNT( DISTINCT continent ) FROM countries;
|
A lekérdezés eredménye egy kicsit más lesz:
1
2 3 |
COUNT
——- 5 |
Ebben a lekérdezésben az eredmény csak öt lesz, mert a DISTINCT
függvény eltávolítja a rekordokban talált duplikált értékeket.
COUNT GROUP BY
A következő példánkban a GROUP BY
záradékot használjuk. A “kód” nevű oszlopban található minden egyes értékhez megszámoljuk a sorok számát:
1
2 3 |
SELECT code, COUNT(code)
FROM countries GROUP BY code; |
Íme a lekérdezésünk eredménye:
1
2 3 4 5 6 7 |
kód | COUNT
——+——-. NA | 4 SA | 2 AF | 1 AS | 4 EU | 3 |
Következtetés
A PostgreSQL táblázat lekérdezésekor, vannak olyan esetek, amikor nagyobb szüksége van a bizonyos feltételeknek megfelelő rekordok számára, mint magukra a tényleges rekordokra. A Postgres COUNT és SELECT együttes használata segíthet a kívánt eredmények elérésében. Ebben a cikkben számos példát adtunk, amelyek a PostgreSQL SELECT
utasítást a COUNT()
függvénnyel együtt használják. Ha követi ezeket a példákat, akkor felkészült lesz arra, hogy hasonló lekérdezéseket készítsen a saját PostgreSQL tábláihoz.