COUNT (Transact-SQL)
Zwraca liczbę elementów w grupie.Jak działa COUNT COUNT_BIG funkcja.Jedyną różnicą między dwie funkcje jest ich zwracanej wartości.COUNT zawsze zwraca int Typ danych wartości. COUNT_BIG zawsze zwraca bigint Typ danych wartości. Może nastąpić W klauzula.
COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } )
Argumenty
ALL
Dotyczy wszystkich wartości funkcja agregacja.WSZYSTKO jest domyślnym.DISTINCT
Określa, że liczba zwraca liczbę niepustych wartości unikatowe.expression
Is wyrażenie dowolnego typu z wyjątkiem text, image, lub ntext. Funkcje agregacja i podkwerend nie są dozwolone.*
Określa, że wszystkie wiersze powinny być liczone Zwraca całkowitą liczbę wierszy w tabela.LICZBA)*) Trwa bez parametrów i nie może być używany z DISTINCT.LICZBA)*) nie wymaga expression Parametr ponieważ z definicji nie używa informacji o określonej kolumna. LICZBA)*) Zwraca liczbę wierszy w określonej tabela bez pobierania rid duplikatów.Każdy wiersz jego zlicza oddzielnie.Dotyczy to także wiersze zawierające wartości null.
Zwracane typy
int
Remarks
Count(*) zwraca liczbę elementów w grupie.Dotyczy to także wartości NULL i duplikaty.
LICZBA (WSZYSTKIE expression) oblicza expression dla każdego wiersza w grupie i zwraca liczbę niepustych wartości.
LICZBA (RÓŻNE expression) oblicza expression dla każdego wiersza w grupie i zwraca liczbę niepustych, unikatowe wartości.
W przypadku zwracają wartości większe niż 2 ^ 31-1, liczba generuje błąd.Zamiast tego użyj COUNT_BIG.
Przykłady
A.Za pomocą COUNT i DISTINCT
Na poniższych listach przykładzie liczba różnych tytuły pracownika, który pracuje w Adventure Works Cycles można w nim przechowywać.
USE AdventureWorks;
GO
SELECT COUNT(DISTINCT Title)
FROM HumanResources.Employee;
GO
Here is the result set.
-----------
67
(1 row(s) affected)
B.Za pomocą Count(*)
W poniższym przykładzie znajduje się całkowita liczba pracowników, którzy pracują w Adventure Works Cycles.
USE AdventureWorks;
GO
SELECT COUNT(*)
FROM HumanResources.Employee;
GO
Here is the result set.
-----------
290
(1 row(s) affected)
C.Przy użyciu innych zagregowanych Count(*)
Poniższy przykład pokazuje, że COUNT(*) można łączyć z innych funkcji agregujących, na liście select.
USE AdventureWorks;
GO
SELECT COUNT(*), AVG(Bonus)
FROM Sales.SalesPerson
WHERE SalesQuota > 25000;
GO
Here is the result set.
----------- ---------------------
14 3472.1428
(1 row(s) affected)