Udostępnij za pośrednictwem


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.

Topic link iconKonwencje składni języka Transact-SQL

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)