Aracılığıyla paylaş


AVG (Transact-SQL)

Bir gruptaki değerlerin ortalamasını verirBoş değerler yoksayılır.Tarafından izlenmesi gereken ÜZERINDE yan tümce.

Topic link iconTransact-SQL sözdizimi kuralları

AVG ( [ ALL | DISTINCT ] expression ) 

Bağımsız değişkenler

  • ALL
    toplamak işlev, tüm değerlere uygulanır.ALL varsayılan olur.

  • DISTINCT
    Ortalama değerin kaç kez bakılmaksızın, değeri, yalnızca benzersiz her örnek gerçekleştirilmesini belirtir.

  • expression
    Iş bir ifade haricinde tam sayısal veya yaklaşık sayısal veri türü kategorisibit veri türü. toplamak işlevleri ve alt sorgular izin verilmez.

Dönüş Türleri

Dönüş türü Değerlendirilmiş sonucu türüne göre belirlenir expression.

Ifadenin sonucu

Dönüş türü

tinyint

int

smallint

int

int

int

bigint

bigint

decimal Kategori (p, s)

decimal(38, s) bölü decimal(10, 0)

money ve smallmoney Kategori

money

float ve real Kategori

float

Remarks

Veri türü, expression bir diğer ad veri türü, dönüş türü de diğer veri türüdür. Temel veri türü, ancak diğer ad ad veri türünü, örneğin yükseltilir tinyint için int, dönüş değeri yükseltilen veridir diğer ad ad veri türü değil.

AVG () ortalamasını hesaplayan bir küme tarafından bu değerlerin toplamını nonnull değerlerin sayımla bölme değerler.Toplam sonuç değerinin veri türü için en büyük değeri aşıyor, bir hata döndürdü.

Örnekler

C.Hesaplamalar için SUM ve AVG işlevlerini kullanma

Aşağıdaki örnek, saatlerin ortalama tatil ve hastalık toplamı saat bırakın hesaplar, Başkan presidents Adventure Works Cycles kullandınız. toplamak bu işlevlerden her biri, alınan tüm satırlar için tek bir Özet değer üretir.

USE AdventureWorks;
GO
SELECT AVG(VacationHours)as 'Average vacation hours', 
    SUM  (SickLeaveHours) as 'Total sick leave hours'
FROM HumanResources.Employee
WHERE Title LIKE 'Vice President%';

Here is the result set.

Ortalama tatil saatleri toplam Hastalık saat

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

25 97

(1 satırları etkilenen)

b.Bir GROUP BY yan tümce ile TOPLAM ve ORTALAMA işlevlerini kullanma

Aşağıdakilerle kullanıldığında bir GROUP BY yan tümce, her bir toplamak işlev her grup için tek bir değer yerine bütün tablo için oluşturur. Aşağıdaki örnek, her bir satış bölgesi için Özet değerleri oluşturur.Özet ortalama Primin satış kişilerin her bölge ve her bölge için yıl, tarih satış toplamı alınan listeler.

USE AdventureWorks;
GO
SELECT TerritoryID, AVG(Bonus)AS 'Average bonus', SUM(SalesYTD) AS 'YTD sales'
FROM Sales.SalesPerson
GROUP BY TerritoryID;
GO

c.AVG ile DISTINCT kullanma

Aşağıdaki deyim ürünler ortalama liste fiyatını verir.

USE AdventureWorks;
GO
SELECT AVG(DISTINCT ListPrice)
FROM Production.Product;

Here is the result set.

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

437.4042

(1 satırları etkilenen)

d.AVG DISTINCT olmadan kullanma

DISTINCT, olmadan AVG Tüm ürünler, liste fiyatını ortalama işlev bulur Product Tablo.

USE AdventureWorks;
GO
SELECT AVG(ListPrice)
FROM Production.Product;

Here is the result set.

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

438.6662

(1 satırları etkilenen)