Funcția COUNT PostgreSQL

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

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.