Összefoglaló: Ebben a bemutatóban megtanulja, hogyan használja a PostgreSQL COUNT()
függvényt a táblában lévő sorok számának megszámlálására.
PostgreSQL COUNT() függvény áttekintése
A COUNT()
függvény egy aggregált függvény, amely lehetővé teszi, hogy megkapja a lekérdezés egy adott feltételének megfelelő sorok számát.
A következő utasítás a COUNT()
függvény használatának különböző módjait szemlélteti.
COUNT(*)
A COUNT(*)
függvény a SELECT
utasítás által visszaadott sorok számát adja vissza, beleértve a NULL és a duplikátumokat is.
Code language: SQL (Structured Query Language) (sql)
Ha a COUNT(*)
függvényt a teljes táblára alkalmazzuk, a PostgreSQL-nek az egész táblát szekvenciálisan kell átvizsgálnia.
Ha a COUNT(*)
függvényt nagy táblán használjuk, a lekérdezés lassú lesz. Ez a PostgreSQL MVCC implementációjával függ össze. Mivel több tranzakció egyszerre látja az adatok különböző állapotait, a COUNT(*)
függvénynek nincs közvetlen módja arra, hogy az egész táblán keresztül számoljon, ezért a PostgreSQL-nek az összes sort át kell vizsgálnia.
COUNT(oszlop)
A COUNT(*)
függvényhez hasonlóan a COUNT(column)
függvény is a SELECT
záradék által visszaadott sorok számát adja vissza. A column
-ben lévő NULL
értékeket azonban nem veszi figyelembe.
Code language: SQL (Structured Query Language) (sql)
COUNT(DISTINCT oszlop)
A COUNT(DISTINCT column)
ebben a formában a column.
Code language: SQL (Structured Query Language) (sql)
A COUNT()
függvényt gyakran használjuk a GROUP BY
záradékkal együtt az egyes csoportok elemeinek számának visszaadására. Például használhatjuk a COUNT()
függvényt a GROUP BY
záradékkal, hogy visszaadjuk az egyes filmkategóriákhoz tartozó filmek számát.
PostgreSQL COUNT() függvény példák
A bemutatóhoz használjuk a mintaadatbázis payment
tábláját.
1) PostgreSQL COUNT(*) példa
A következő utasítás a COUNT(*)
függvényt használja a payment
tábla tranzakcióinak számának visszaadására:
Code language: SQL (Structured Query Language) (sql)
Itt a kimenet:
2) PostgreSQL COUNT(DISTINCT oszlop) példa
Az ügyfelek által kifizetett különálló összegek kinyeréséhez a COUNT(DISTINCT amount)
függvényt használja a következő példa szerint:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COUNT() with GROUP BY clause
Az ügyfél által fizetett összegek számának kinyeréséhez a GROUP BY
záradékot használja a fizetések csoportosításához az ügyfél azonosítója alapján, és a COUNT()
függvényt használja az egyes csoportok kifizetéseinek megszámlálásához.
A következő lekérdezés szemlélteti az ötletet:
Code language: SQL (Structured Query Language) (sql)
Itt a részleges kimenet:
PostgreSQL COUNT() HAVING záradékkal
A COUNT
függvényt egy HAVING
záradékban használhatja egy adott feltétel csoportokra való alkalmazásához. Például a következő utasítás megtalálja azokat az ügyfeleket, akik 40-nél több kifizetést teljesítettek:
Code language: SQL (Structured Query Language) (sql)
Ezzel a bemutatóval megtanulta, hogyan használhatja a PostgreSQL COUNT()
függvényt egy táblázatban lévő sorok számának megadására.
- Hasznos volt ez a bemutató?
- IgenNem
Mi volt hasznos?