PostgreSQL COUNT Functie

Samenvatting: in deze tutorial leert u hoe u de PostgreSQL COUNT() functie kunt gebruiken om het aantal rijen in een tabel te tellen.

PostgreSQL COUNT() functie overzicht

De COUNT() functie is een aggregaat functie waarmee u het aantal rijen kunt krijgen dat aan een specifieke voorwaarde van een query voldoet.

De volgende verklaring illustreert verschillende manieren om de COUNT()-functie te gebruiken.

COUNT(*)

De COUNT(*)-functie retourneert het aantal rijen dat door een SELECT-instructie is geretourneerd, inclusief NULL en duplicaten.

Code language: SQL (Structured Query Language) (sql)

Wanneer u de COUNT(*) functie op de hele tabel toepast, moet PostgreSQL de hele tabel sequentieel scannen.

Als u de COUNT(*) functie op een grote tabel gebruikt, zal de query traag zijn. Dit heeft te maken met de PostgreSQL MVCC implementatie. Omdat meerdere transacties tegelijkertijd verschillende toestanden van gegevens zien, is er geen directe manier voor de COUNT(*) functie om over de hele tabel te tellen, daarom moet PostgreSQL alle rijen scannen.

COUNT(kolom)

Gelijk aan de COUNT(*) functie, retourneert de COUNT(column) functie het aantal rijen dat door een SELECT clausule wordt geretourneerd. Deze houdt echter geen rekening met NULL-waarden in de column.

Code language: SQL (Structured Query Language) (sql)

COUNT(DISTINCT column)

In deze vorm retourneert de COUNT(DISTINCT column) het aantal unieke niet-nule waarden in de column.

Code language: SQL (Structured Query Language) (sql)

We gebruiken de functie COUNT() vaak met de GROUP BY-clausule om het aantal items voor elke groep te retourneren. We kunnen bijvoorbeeld de COUNT() met de GROUP BY-clausule gebruiken om het aantal films in elke filmcategorie terug te geven.

PostgreSQL COUNT() functievoorbeelden

Laten we de payment-tabel in de voorbeelddatabase gebruiken voor de demonstratie.

1) PostgreSQL COUNT(*) voorbeeld

Het volgende commando gebruikt de functie COUNT(*) om het aantal transacties in de tabel payment terug te geven:

Code language: SQL (Structured Query Language) (sql)

Hier volgt de uitvoer:

2) PostgreSQL COUNT(DISTINCT column) voorbeeld

Om de afzonderlijke bedragen te krijgen die klanten hebben betaald, gebruikt u de functie COUNT(DISTINCT amount), zoals in het volgende voorbeeld wordt getoond:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL COUNT() met GROUP BY-clausule

Om het aantal betalingen door de klant te krijgen, gebruikt u de GROUP BY-clausule om de betalingen in groepen te groeperen op basis van klant-id, en gebruikt u de COUNT()-functie om de betalingen voor elke groep te tellen.

De volgende query illustreert het idee:

Code language: SQL (Structured Query Language) (sql)

Hier is de gedeeltelijke uitvoer:

PostgreSQL COUNT() met HAVING-clausule

U kunt de COUNT-functie in een HAVING-clausule gebruiken om een specifieke voorwaarde op groepen toe te passen. Het volgende statement vindt bijvoorbeeld klanten die meer dan 40 betalingen hebben gedaan:

Code language: SQL (Structured Query Language) (sql)

In deze tutorial hebt u geleerd hoe u de PostgreSQL COUNT() functie kunt gebruiken om het aantal rijen in een tabel terug te geven.

  • Was deze tutorial nuttig?
  • JaNee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.