SQL COUNT functie simpel voorbeeld

SQL COUNT function: rijen in tabellen tellen [TUTORIAL]

Wie met data werkt komt vroeg of laat een database tegen. In veel gevallen zul je dan zelf met SQL aan de slag moeten om tot de informatie te komen die je zoekt. Vaak gebruiken applicaties relationele databases die met SQL statements (ook wel SQL query) bestuurd kunnen worden.

In dit blog gaan we in op de SQL COUNT aggregate function, waarmee je rijen (die eventueel aan bepaalde gestelde voorwaarden voldoen) in een tabel kunt tellen.

Wil je op je eigen computer meedoen met deze tutorial? Volg dan deze stappen om SQL en PgAdmin te installeren.

Inhoud

Wat is SQL SELECT (FROM)?

COUNT is een veelgebruikte aggregatiefunctie in SQL queries. Een aggregatiefunctie brengt diverse waarden terug tot één waarde, in dit geval het aantal waarden.

COUNT wordt binnen SQL SELECT statements gebruikt om het aantal rijen te tellen. Omdat COUNT een functie is zijn haakjes verplicht. Binnen de haakjes kun je bijvoorbeeld een column-naam ingeven of een asterix (*).

Ook interessant: een volledige uitleg van SQL SELECT

Een voorbeeld syntax waarbij je het aantal rijen van een tabel terugkrijgt is: SELECT COUNT(*) FROM tabel_naam;

COUNT is in veel gevallen handig. Bijvoorbeeld als je wilt weten hoeveel rijen een tabel in totaal heeft. Of in combinatie met SQL DISTINCT (een commando dat unieke waarden teruggeeft). Door DISTINCT en COUNT te combineren kun je gemakkelijk het aantal unieke waarden in een column vinden. In de volgende alinea werken we bovenstaande en meer veelvoorkomende toepassingen van COUNT uit aan de hand van voorbeelden.

Voorbeeldtoepassingen van de SQL COUNT functie

Nu zullen we laten zien hoe je de COUNT functie gebruikt in de praktijk. Hiervoor gebruiken we de IMDb voorbeeld dataset die beschreven staat op deze pagina. Je kunt de dataset ook downloaden via de pagina en als je nog geen mogelijkheid hebt om met SQL te werken op jouw computer dan kun je deze installatie-stappen volgen.

SQL COUNT functie gebruiken om aantal rijen te tellen in een tabel

Je kunt op meerdere manieren het aantal rijen van een tabel tellen. Omdat iedere column in een tabel hetzelfde aantal rijen heeft, maar het niet uit of je één column of alle columns selecteert.

In het geval dat je één column selecteert is dit je syntax.

SELECT COUNT(year)
FROM movies;

sql count voorbeeld

De column year heeft 36 waarden.

Hetzelfde antwoord vind je als je COUNT() gebruikt. Met () selecteer je alle columns van een tabel. Daarnaast hebben we in onderstaande query "AS" toegevoegd. Hiermee geef je je output-column de naam aantal_films.

SELECT COUNT(*) AS aantal_films
FROM movies;

SQL COUNT functie i.c.m. DISTINCT gebruiken

Tot nu toe zagen we hoe je het aantal rijen in een tabel opvraagt. Dat is op zichzelf al nuttig om te weten, maar de COUNT functie is vooral handig in combinatie met andere SQL functionaliteit.

Zo kun je COUNT in combinatie met DISTINCT gebruiken om het aantal unieke waarden in een column weer te geven.

SELECT COUNT(DISTINCT year)
FROM movies

sql count distinct example

We zien dat er 20 unieke waarden in de column year staan. Onze tabel met films bevat dus films uit 20 verschillende jaren.

SQL COUNT functie i.c.m. GROUP BY gebruiken

We kunnen nog een stapje verder gaan door met COUNT(*) een nieuwe column te maken waarin het aantal waarnemingen van een unieke waarde wordt opgeteld. Dit doen we door gebruik te maken van GROUP BY zoals onderstaande query laat zien.

SELECT year, COUNT(*)
FROM movies
GROUP BY year;

Met GROUP BY groepeer je rijen op basis van één of meer columns. In ons geval groeperen we de output op column year.

sql count group by example

We zien de eerste zeven rijen van de output. Rij één geeft aan dat er twee films in onze tabel zitten die in het jaar 1989 zijn uitgebracht.

SQL COUNT functie i.c.m. ORDER BY gebruiken

Om voort te borduren op bovenstaand voorbeeld, gaan we nu onze output verder ordenen door gebruik te maken van de COUNT functie.

We gaan de populairste film-release-jaartallen namelijk in afnemende mate van veelvoorkomendheid sorteren. Dit doen we door gebruik te maken van ORDER BY.

Met ORDER BY sorteer je output o.b.v. gestelde criteria. Output kan oplopend (ASC) of aflopend (DESC) gesorteerd worden.

SELECT year, COUNT(*)
FROM movies
GROUP BY year
ORDER BY COUNT(*) DESC;

sql count order by example

We zien wederom de eerste zeven rijen van de output. De populairste release-jaren binnen onze tabel zijn de jaren 2000, 1999, en 2003. In deze jaren werden 4 films uitgebracht.

SQL COUNT functie i.c.m. HAVING gebruiken

We kunnen COUNT ook met HAVING combineren op onderstaande wijze. Het HAVING commando stelt je in staat om een voorwaarde mee te geven voor de groepen die voortkomen uit een GROUP BY commando.

SELECT year, COUNT(*)
FROM movies
GROUP BY year
HAVING COUNT(*) > 2
ORDER BY COUNT(*) DESC;

In dit geval wordt gegroepeerd op jaar met GROUP BY, waarna HAVING aangeeft dat alleen jaren die vaker dan twee keer in de tabel zitten hoeven worden weergegeven.

sql count having uitleg voorbeeld

We zien dat er vier jaren worden gegeven als output.

Ook interessant:

Wil je nog veel meer leren over SQL? Bekijk dan onze SQL cursus voor data analyse. Door middel van theorie en praktijkoefening wordt er een kwalitatieve basis gelegd. Nadat je deze training hebt gevolgd kun je zelfstandig verder aan de slag. Je kunt ook altijd even contact opnemen via info@datasciencepartners.nl of 020 - 24 43 146 als je een vraag hebt.

by: