Sammanfattning :i denna handledning kommer du att lära dig hur du använder SQLite COUNT funktion för att få antalet objekt i en grupp.
Introduktion till SQLite COUNT() funktion
Funktionen COUNT() är en aggregatfunktion som returnerar antalet objekt i en grupp.
Du kan till exempel använda COUNT() funktion för att få antalet spår från tracks tabellen, antalet artister från artists bord och så vidare.
Följande illustrerar den grundläggande syntaxen för COUNT funktion:
COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql) Argument
COUNT funktion beter sig enligt de argument som du skickar in i den och alternativet ALL eller DISTINCT som du anger.
Följande beskriver betydelsen av ALL och DISTINCT alternativ:
ALL:när du anger alla,COUNT()funktion räknar alla icke-nullvärden inkluderar dubbletter.COUNT()funktionen använderALLalternativet som standard om du hoppar över det.DISTINCT:om du uttryckligen använderDISTINCTalternativet,COUNTfunktion räknar endast unika och icke-nullvärden.
Uttrycket kan vara en kolumn eller ett uttryck som involverar kolumner till vilka funktionen COUNT() tillämpas.
SQLite tillhandahåller en annan syntax för COUNT() funktion:
COUNT(*)Code language: SQL (Structured Query Language) (sql)
COUNT(*) funktion returnerar antalet rader i en tabell, inklusive raderna inklusive NULL och dubbletter.
SQLite COUNT() funktionsillustration
Skapa först en tabell som heter t1 som har en kolumn:
CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql)
För det andra, infoga fem rader i t1 tabell:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql)
För det tredje, fråga efter data från t1 tabell:
SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)
För det fjärde, använd COUNT(*) funktion för att returnera antalet rader i t1 tabell:
SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)
Som du tydligt kan se från resultatet innehåller resultatuppsättningen NULL och dubbletter av rader.
För det femte, använd COUNT(expression) för att få antalet icke-nullvärden i kolumnen c :
SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)
I det här exemplet är COUNT(c) returnerar antalet icke-nullvärden. Den räknar dubblettraderna som separata rader.
För det sjätte, använd COUNT(DISTINCT expression) för att få antalet unika och icke-nullvärden i kolumn c :
SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*) exempel
Vi tar tabellen tracks i exempeldatabasen för att demonstrera funktionen hos COUNT(*) funktion.
1) SQLite COUNT(*) exempel
För att få antalet rader från tracks tabell använder du COUNT(*) fungerar enligt följande:
SELECT count(*)
FROM tracks;Code language: SQL (Structured Query Language) (sql) Prova det
count(*)
--------
3503Code language: plaintext (plaintext) 2) SQLite COUNT(*) med WHERE klausulexempel
Följande sats använder COUNT(*) funktion med en WHERE klausul för att hitta antalet spår vars album-id är 10:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql) Prova det
COUNT(*)
--------
14 3) SQLite COUNT(*) med GROUP BY klausulexempel
För att få alla album och antalet spår i varje album, kombinerar du COUNT(*) funktion med GROUP BY klausul:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Prova det
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
... I det här exemplet:
- Först,
GROUP BYklausul gruppera spår efter album-id. - Sedan,
COUNT(*)funktionen returnerar antalet spår för varje album eller grupp av spår.
4) SQLite COUNT(*) med HAVING klausulexempel
Följande använder COUNT(*) i HAVING klausul för att hitta album som har fler än 25 spår:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql) Prova det
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26 5) SQLite COUNT(*) med INNER JOIN klausulexempel
För att göra utdata från ovanstående fråga mer användbar kan du inkludera albumets namnkolumn. För att göra detta lägger du till INNER JOIN och ORDER BY satser till frågan som följande fråga:
SELECT
tracks.albumid,
title,
COUNT(*)
FROM
tracks
INNER JOIN albums ON
albums.albumid = tracks.albumid
GROUP BY
tracks.albumid
HAVING
COUNT(*) > 25
ORDER BY
COUNT(*) DESC;Code language: SQL (Structured Query Language) (sql) Prova det
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26 SQLite COUNT(DISTINCT expression) exempel
Låt oss ta en titt på employees tabell från exempeldatabasen.

SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;Code language: SQL (Structured Query Language) (sql) Prova det
EmployeeId LastName FirstName Title
---------- -------- --------- -------------------
1 Adams Andrew General Manager
2 Edwards Nancy Sales Manager
3 Peacock Jane Sales Support Agent
4 Park Margaret Sales Support Agent
5 Johnson Steve Sales Support Agent
6 Mitchell Michael IT Manager
7 King Robert IT Staff
8 Callahan Laura IT Staff
För att få antalet positionstitlar skickar du title kolumnen till COUNT() fungerar enligt följande:
SELECT COUNT(title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Prova det
COUNT(title)
------------
8
Men för att få antalet unika titlar måste du lägga till DISTINCT alternativet till COUNT() fungerar som visas i följande uttalande:
SELECT COUNT(DISTINCT title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Prova det
COUNT(DISTINCT title)
---------------------
5
I den här handledningen har vi visat dig hur du använder SQLite COUNT() funktion för att räkna antalet objekt i en grupp.