SQL COUNT() funktion

COUNT() funktionen returnerer antallet af rækker, der matcher den angivne betingelse.

SQL COUNT() syntaks

SQL COUNT(column_name) syntaks

COUNT(column_name) funktionen returnerer antallet af værdier i det angivne kolonne (NULL tæller ikke med):

SELECT COUNT(column_name) FROM table_name

SQL COUNT(*) syntaks

COUNT(*) funktionen returnerer antallet af poster i tabellen:

SELECT COUNT(*) FROM table_name

SQL COUNT(DISTINCT column_name) syntaks

COUNT(DISTINCT column_name) funktionen returnerer antallet af unikke værdier i det angivne kolonne:

SELECT COUNT(DISTINCT column_name) FROM table_name

Kommentar:COUNT(DISTINCT) bruges til ORACLE og Microsoft SQL Server, men kan ikke bruges til Microsoft Access.

SQL COUNT(column_name) eksempel

Vi har følgende "Orders"-tabel:

O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter

Nu håber vi at beregne antallet af ordrer for kunden "Carter".

Vi bruger følgende SQL-sætning:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

Resultatet af den ovennævnte SQL-sætning er 2, fordi kunde Carter har 2 ordrer:

CustomerNilsen
2

SQL COUNT(*) eksempel

Hvis vi undlader WHERE-sætningen, f.eks. sådan:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

Resultatet af resultatsættet ser sådan ud:

NumberOfOrders
6

Dette er det samlede antal rækker i tabellen.

SQL COUNT(DISTINCT column_name) eksempel

Nu håber vi at beregne antallet af forskellige kunder i "Orders"-tabellen.

Vi bruger følgende SQL-sætning:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

Resultatet af resultatsættet ser sådan ud:

NumberOfCustomers
3

Dette er antallet af forskellige kunder (Bush, Carter og Adams) i "Orders"-tabellen.