count (Transact-SQL)

Gruptaki öğelerin sayısını döndürür.Gibi sayısı çalışır COUNT_BIG işlev.İki işlev arasındaki tek fark, dönüş değerleri ' dir.COUNT, her zaman bir int veri türü değeri verir.COUNT_BIG her zaman döndürür bir bigint veri türü değeri.Arkasından yan tümceüzerinden.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

COUNT ( { [ [ ALL | DISTINCT ] expression ] | * } ) 

Bağımsız değişkenler

  • ALL
    topluişlev tüm değerleri için geçerlidir. Tüm varsayılan değerdir.

  • DISTINCT
    count null olmayan benzersiz değerler sayısını döndüren sürücüyü belirtir.

  • expression
    Olan bir ifade dışında herhangi bir tür text, image, veya ntext.Toplama işlevleri ve alt sorgular izin verilmez.

  • *
    Tüm satırlar tablotoplam satır sayısını döndürmek için sayılması belirtir.count (*) herhangi bir parametre almaz ve DISTINCT ile kullanılamaz.count (*) gerek duymuyorsanız bir expression Parametre tanımına göre herhangi bir belirli sütunhakkında bilgi kullanmadığından,.count (*) kopyalarını rid olmadan belirtilen tablo içinde satır sayısını verir.Her satır ayrı olarak sayar.Bu, null değerleri içeren satırları içerir.

Dönüş Türleri

int

Açıklamalar

count(*), gruptaki öğe sayısını döndürür.Bu, null değerleri ve yinelemeler içerir.

SAYISI (tüm expression) değerlendirir expression bir grup içindeki her satır için null olmayan değerler. verir ve

count (DISTINCT expression) değerlendirir expression bir grup içindeki her satır için benzersiz ve null olmayan değerler. verir ve

İçin döndürülen değerler büyük 2 ^ 31-1, Say bir hata üretir.COUNT_BIG yerine kullanın.

Örnekler

A.SAYIM ve DISTINCT kullanma

Aşağıdaki örnek listeler sayısı farklı başlıklar, çalışma biçimi bir çalışan Adventure Works Cycles için tuşunu basılı tutun.

USE AdventureWorks2008R2;
GO
SELECT COUNT(DISTINCT JobTitle)
FROM HumanResources.Employee;
GO

Sonuç kümesi buradadır.

-----------

67

(1 row(s) affected)

B.count(*) kullanma

Aşağıdaki örnek konumunda çalışan çalışanların toplam sayısını bulur Adventure Works Cycles.

USE AdventureWorks2008R2;
GO
SELECT COUNT(*)
FROM HumanResources.Employee;
GO

Sonuç kümesi buradadır.

-----------

290

(1 row(s) affected)

C.Diğer toplamları ile count(*) kullanma

Aşağıdaki örnekte gösterildiği COUNT(*) diğer toplu fonksiyonları ile birleştirilebilirselect listesi.

USE AdventureWorks2008R2;
GO
SELECT COUNT(*), AVG(Bonus)
FROM Sales.SalesPerson
WHERE SalesQuota > 25000;
GO

Sonuç kümesi buradadır.

----------- ---------------------

14 3472.1428

(1 row(s) affected)