Rezumat: în acest tutorial, veți învăța cum să utilizați funcția COUNT() PostgreSQL pentru a număra numărul de rânduri dintr-o tabelă.
Funcția COUNT() PostgreSQL
Funcția COUNT() este o funcție agregată care vă permite să obțineți numărul de rânduri care corespund unei condiții specifice a unei interogări.
Declarația următoare ilustrează diverse moduri de utilizare a funcției COUNT().
COUNT(*)
Funcția COUNT(*) returnează numărul de rânduri returnate de o instrucțiune SELECT, inclusiv NULL și duplicatele.
Code language: SQL (Structured Query Language) (sql)
Când aplicați funcția COUNT(*) la întregul tabel, PostgreSQL trebuie să scaneze secvențial întregul tabel.
Dacă utilizați funcția COUNT(*) pe un tabel mare, interogarea va fi lentă. Acest lucru este legat de implementarea MVCC PostgreSQL. Deoarece mai multe tranzacții văd diferite stări ale datelor în același timp, nu există o modalitate directă pentru funcția COUNT(*) de a număra în întregul tabel, prin urmare PostgreSQL trebuie să scaneze toate rândurile.
COUNT(column)
Similară funcției COUNT(*), funcția COUNT(column) returnează numărul de rânduri returnate de o clauză SELECT. Cu toate acestea, ea nu ia în considerare valorile NULL din column.
Code language: SQL (Structured Query Language) (sql)
COUNT(DISTINCT column)
În această formă, COUNT(DISTINCT column) returnează numărul de valori unice non-nule din column.
Code language: SQL (Structured Query Language) (sql)
Utilizăm adesea funcția COUNT() cu clauza GROUP BY pentru a returna numărul de elemente pentru fiecare grup. De exemplu, putem folosi funcția COUNT() cu clauza GROUP BY pentru a returna numărul de filme din fiecare categorie de filme.
Exemple de utilizare a funcției COUNT() din PostgreSQL
Să folosim tabelul payment din baza de date de exemplu pentru demonstrație.

1) Exemplu PostgreSQL COUNT(*) exemplu
Declarația următoare utilizează funcția COUNT(*) pentru a returna numărul de tranzacții din tabelul payment:
Code language: SQL (Structured Query Language) (sql)
Iată rezultatul:

2) PostgreSQL COUNT(DISTINCT column) exemplu
Pentru a obține sumele distincte pe care le-au plătit clienții, se utilizează funcția COUNT(DISTINCT amount), așa cum se arată în exemplul următor:
Code language: SQL (Structured Query Language) (sql)

PostgreSQL COUNT() cu clauza GROUP BY
Pentru a obține numărul de plăți efectuate de către client, se utilizează clauza GROUP BY pentru a grupa plățile în grupuri pe baza id-ului clientului și se utilizează funcția COUNT() pentru a număra plățile pentru fiecare grup.
Următoarea interogare ilustrează ideea:
Code language: SQL (Structured Query Language) (sql)
Iată rezultatul parțial:

PostgreSQL COUNT() cu clauza HAVING
Puteți utiliza funcția COUNT într-o clauză HAVING pentru a aplica o condiție specifică grupurilor. De exemplu, următoarea instrucțiune găsește clienții care au făcut mai mult de 40 de plăți:
Code language: SQL (Structured Query Language) (sql)

În acest tutorial, ați învățat cum să utilizați funcția COUNT() PostgreSQL pentru a returna numărul de rânduri dintr-un tabel.
- A fost util acest tutorial?
- DaNu
.
