Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Toplamalar, bir dizi giriş değerini tek bir değere düşüren ifadelerdir. Toplamalar normalde SELECT ifadesinin GROUP BY yan tümcesiyle birlikte kullanılır ve bunların nerede kullanılabileceğinin kısıtlamaları vardır.
Varlık SQL kurallı işlevlerini toplama
Aşağıda, toplam Entity SQL kurallı işlevleri yer alır.
Ortalama(ifade)
Null olmayan değerlerin ortalamasını döndürür.
Argümanlar
Bir Int32, Int64, Double, ve Decimal.
Dönüş Değeri
Türü expression, veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE AVG(p.ListPrice)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE AVG(p.ListPrice)
FROM AdventureWorksEntities.Products AS p
BigCount(ifade)
Null ve yinelenen değerler dahil olmak üzere toplamanın boyutunu döndürür.
Argümanlar
Herhangi bir tür.
Dönüş Değeri
Bir Int64.
Örnek
queryString = @"SELECT VALUE BigCount(p.ProductID)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE BigCount(p.ProductID)
FROM AdventureWorksEntities.Products AS p
Sayı(ifade)
Null ve yinelenen değerler dahil olmak üzere toplamanın boyutunu döndürür.
Argümanlar
Herhangi bir tür.
Dönüş Değeri
Bir Int32.
Örnek
queryString = @"SELECT VALUE Count(p.ProductID)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE Count(p.ProductID)
FROM AdventureWorksEntities.Products AS p
Maks (ifade)
Null olmayan değerlerin üst sınırını döndürür.
Argümanlar
A Byte, Int16, Int32, , Int64, Byte, , Single, Double, Decimal, DateTimeDateTimeOffsetTimeString, . Binary
Dönüş Değeri
Türü expression, veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE MAX(p.ListPrice)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE MAX(p.ListPrice)
FROM AdventureWorksEntities.Products AS p
Min(ifade)
Null olmayan değerlerin en düşük değerini döndürür.
Argümanlar
A Byte, Int16, Int32, , Int64, Byte, , Single, Double, Decimal, DateTimeDateTimeOffsetTimeString, . Binary
Dönüş Değeri
Türü expression, veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE MIN(p.ListPrice)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE MIN(p.ListPrice)
FROM AdventureWorksEntities.Products AS p
StDev(ifade)
Null olmayan değerlerin standart sapması döndürür.
Argümanlar
Bir Int32, Int64, Double, Decimal.
Dönüş Değeri
bir Double.
Null, tüm giriş değerleri null değerleriyse.
Örnek
queryString = @"SELECT VALUE StDev(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price";
SELECT VALUE StDev(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price
StDevP(ifade)
Tüm değerlerden oluşan popülasyonun standart sapmasını döndürür.
Argümanlar
Bir Int32, Int64, Double, Decimal.
Dönüş Değeri
Bir Double veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE StDevP(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price";
SELECT VALUE StDevP(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price
Toplam(ifade)
Null olmayan değerlerin toplamını döndürür.
Argümanlar
Bir Int32, Int64, Double, Decimal.
Dönüş Değeri
Bir Double veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE Sum(p.ListPrice)
FROM AdventureWorksEntities.Products as p";
SELECT VALUE Sum(p.ListPrice)
FROM AdventureWorksEntities.Products AS p
Var(ifade)
Null olmayan tüm değerlerin varyansını döndürür.
Argümanlar
Bir Int32, Int64, Double, Decimal.
Dönüş Değeri
Bir Double veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE Var(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price";
SELECT VALUE Var(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price
VarP(ifade)
Null olmayan tüm değerlerin popülasyonunun varyansını döndürür.
Argümanlar
Bir Int32, Int64, Double, Decimal.
Dönüş Değeri
Bir Double veya tüm giriş değerleri null ise null.
Örnek
queryString = @"SELECT VALUE VarP(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price";
SELECT VALUE VarP(product.ListPrice)
FROM AdventureWorksEntities.Products AS product
WHERE product.ListPrice > @price
Eşdeğer işlevler Microsoft SQL İstemcisi Yönetilen Sağlayıcısı'nda kullanılabilir. Daha fazla bilgi için bkz. Entity Framework İşlevleri için SqlClient.
Koleksiyon tabanlı birleşimler
Koleksiyon tabanlı toplamalar (koleksiyon işlevleri) koleksiyonlar üzerinde çalışır ve bir değer döndürür. Örneğin, ORDERS tüm siparişlerin koleksiyonuysa, aşağıdaki ifadeyle en erken sevk tarihini hesaplayabilirsiniz:
min(select value o.ShipDate from LOB.Orders as o)
Koleksiyon tabanlı toplamalar içindeki ifadeler geçerli ortam adı çözümleme kapsamı içinde değerlendirilir.
Grup tabanlı toplamalar
Grup tabanlı toplamalar, GROUP BY yan tümcesi tarafından tanımlandığı şekilde bir grup üzerinde hesaplanır. Sonuçtaki her grup için, her gruptaki öğeler toplama hesaplamasına giriş olarak kullanılarak ayrı bir toplama hesaplanır. Bir select ifadesinde group-by yan tümcesi kullanıldığında, projeksiyon veya order-by yan tümcesinde yalnızca gruplandırma ifadesi adları, toplamlar veya sabit ifadeler bulunabilir.
Aşağıdaki örnek, her ürün için sipariş edilen ortalama miktarı hesaplar:
select p, avg(ol.Quantity) from LOB.OrderLines as ol
group by ol.Product as p
SELECT ifadesinde açık bir group-by yan tümcesi olmadan grup tabanlı bir toplamaya sahip olmak mümkündür. Bu durumda, tüm öğeler tek bir grup olarak değerlendirilir. Bu, bir sabiti temel alan bir gruplandırma belirtmekle eşdeğerdir. Örneğin, aşağıdaki ifadeyi alın:
select avg(ol.Quantity) from LOB.OrderLines as ol
Bu, aşağıdakilere eşdeğerdir:
select avg(ol.Quantity) from LOB.OrderLines as ol group by 1
Grup temelli toplama içindeki ifadeler, WHERE yan tümcesi ifadesi tarafından görülebilecek ad çözümleme kapsamı açısından değerlendirilmektedir.
Transact-SQL'de olduğu gibi, grup tabanlı toplamalar da ALL veya DISTINCT değiştiricisini belirtebilir. DISTINCT değiştiricisi belirtilirse, toplama hesaplanmadan önce yinelenen öğeler toplama giriş koleksiyonundan çıkarılır. ALL değiştiricisi belirtilirse (veya değiştirici belirtilmezse), yinelenen eleme yapılmaz.