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.
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)
Ayrıca bkz.