Podsumowanie :w tym samouczku dowiesz się, jak korzystać z SQLite COUNT funkcja, aby uzyskać liczbę elementów w grupie.
Wprowadzenie do SQLite COUNT() funkcja
Funkcja COUNT() to funkcja agregująca, która zwraca liczbę elementów w grupie.
Na przykład możesz użyć COUNT() funkcja, aby uzyskać liczbę utworów z tracks tabela, liczba artystów z artists stół i tak dalej.
Poniżej przedstawiono podstawową składnię COUNT funkcja:
COUNT([ALL | DISTINCT] expression);Code language: SQL (Structured Query Language) (sql) Argumenty
COUNT funkcja zachowuje się zgodnie z przekazanymi do niej argumentami i opcją ALL lub DISTINCT które określisz.
Poniżej opisano znaczenie ALL i DISTINCT opcje:
ALL:po określeniu wszystkich,COUNT()funkcja zlicza wszystkie wartości inne niż null obejmują duplikaty.COUNT()funkcja używaALLopcja domyślna, jeśli ją pominiesz.DISTINCT:jeśli jawnie używaszDISTINCTopcjaCOUNTfunkcja liczy tylko wartości unikalne i niepuste.
Wyrażenie może być kolumną lub wyrażeniem obejmującym kolumny, do których funkcja COUNT() jest stosowany.
SQLite zapewnia inną składnię COUNT() funkcja:
COUNT(*)Code language: SQL (Structured Query Language) (sql)
COUNT(*) funkcja zwraca liczbę wierszy w tabeli, w tym wiersze zawierające NULL i duplikaty.
SQLite COUNT() ilustracja funkcji
Najpierw utwórz tabelę o nazwie t1 który ma jedną kolumnę:
CREATE TABLE t1(c INTEGER);Code language: SQL (Structured Query Language) (sql)
Po drugie, wstaw pięć wierszy do t1 tabela:
INSERT INTO t1(c)
VALUES(1),(2),(3),(null),(3);Code language: SQL (Structured Query Language) (sql)
Po trzecie, zapytaj o dane z t1 tabela:
SELECT * FROM t1;Code language: SQL (Structured Query Language) (sql)
Po czwarte, użyj COUNT(*) funkcja zwracająca liczbę wierszy w t1 tabela:
SELECT COUNT(*) FROM t1;Code language: SQL (Structured Query Language) (sql)
Jak widać wyraźnie z danych wyjściowych, zestaw wyników zawiera NULL i zduplikowane wiersze.
Po piąte, użyj COUNT(expression) aby uzyskać liczbę wartości innych niż null w kolumnie c :
SELECT COUNT(c) FROM t1;Code language: SQL (Structured Query Language) (sql)
W tym przykładzie COUNT(c) zwraca liczbę wartości innych niż null. Liczy zduplikowane wiersze jako osobne wiersze.
Po szóste, użyj COUNT(DISTINCT expression) aby uzyskać liczbę unikalnych i niepustych wartości w kolumnie c :
SELECT COUNT(DISTINCT c) FROM t1;Code language: SQL (Structured Query Language) (sql)
SQLite COUNT(*) przykłady
Weźmiemy stół tracks w przykładowej bazie danych, aby zademonstrować funkcjonalność COUNT(*) funkcja.
1) SQLite COUNT(*) przykład
Aby uzyskać liczbę wierszy z tracks tabeli, użyj COUNT(*) działają w następujący sposób:
SELECT count(*)
FROM tracks;Code language: SQL (Structured Query Language) (sql) Wypróbuj
count(*)
--------
3503Code language: plaintext (plaintext) 2) SQLite COUNT(*) z WHERE przykład klauzuli
Poniższa instrukcja używa COUNT(*) funkcja z WHERE klauzula, aby znaleźć liczbę utworów, których identyfikator albumu to 10:
SELECT COUNT(*)
FROM tracks
WHERE albumid = 10;Code language: SQL (Structured Query Language) (sql) Wypróbuj
COUNT(*)
--------
14 3) SQLite COUNT(*) z GROUP BY przykład klauzuli
Aby uzyskać wszystkie albumy i liczbę utworów w każdym albumie, połącz COUNT(*) funkcja z GROUP BY klauzula:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid;Code language: SQL (Structured Query Language) (sql) Wypróbuj
AlbumId COUNT(*)
------- --------
1 10
2 1
3 3
4 8
5 15
6 13
7 12
8 14
9 8
10 14
... W tym przykładzie:
- Po pierwsze,
GROUP BYgrupuj utwory klauzul według identyfikatora albumu. - Następnie
COUNT(*)funkcja zwraca liczbę utworów dla każdego albumu lub grupy utworów.
4) SQLite COUNT(*) z HAVING przykład klauzuli
Poniższe używa COUNT(*) w HAVING klauzula dotycząca wyszukiwania albumów zawierających więcej niż 25 utworów:
SELECT
albumid,
COUNT(*)
FROM
tracks
GROUP BY
albumid
HAVING COUNT(*) > 25Code language: SQL (Structured Query Language) (sql) Wypróbuj
AlbumId COUNT(*)
------- --------
23 34
73 30
141 57
229 26 5) SQLite COUNT(*) z INNER JOIN przykład klauzuli
Aby dane wyjściowe powyższego zapytania były bardziej przydatne, możesz dołączyć kolumnę nazwy albumu. Aby to zrobić, dodaj INNER JOIN i ORDER BY klauzule do zapytania, takie jak następujące zapytanie:
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) Wypróbuj
AlbumId Title COUNT(*)
------- -------------- --------
141 Greatest Hits 57
23 Minha Historia 34
73 Unplugged 30
229 Lost, Season 3 26 SQLite COUNT(DISTINCT expression) przykłady
Przyjrzyjmy się employees tabela z przykładowej bazy danych.

SELECT
employeeid,
lastname,
firstname,
title
FROM
employees;Code language: SQL (Structured Query Language) (sql) Wypróbuj
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
Aby uzyskać liczbę tytułów pozycji, przekazujesz title kolumnę do COUNT() działają w następujący sposób:
SELECT COUNT(title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Wypróbuj
COUNT(title)
------------
8
Jednak, aby uzyskać liczbę unikalnych tytułów, musisz dodać DISTINCT opcję COUNT() działają tak, jak pokazano w następującym oświadczeniu:
SELECT COUNT(DISTINCT title)
FROM employees;Code language: SQL (Structured Query Language) (sql) Wypróbuj
COUNT(DISTINCT title)
---------------------
5
W tym samouczku pokazaliśmy, jak korzystać z SQLite COUNT() funkcja zliczania liczby elementów w grupie.