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.
Sorgu sonucunun öğelerini gruplandırma. Her gruba toplama işlevleri uygulamak için de kullanılabilir. Gruplandırma işlemi bir veya daha fazla anahtarı temel alır.
Sözdizimi
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
-veya-
Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]
Into aggregateList
Parçalar
listField1,listField2Opsiyonel. Sorgu değişkeninin veya değişkenlerin gruplandırılmış sonuca dahil edilecek alanları açıkça tanımlayan bir veya daha fazla alanı. Hiçbir alan belirtilmezse, sorgu değişkeninin veya değişkenlerin tüm alanları gruplandırılmış sonuda eklenir.
alias1,alias2Opsiyonel. Gruplandırma anahtarlarına atanan adlar. Diğer adlar sağlanıyorsa, anahtar ifadeler yerine sorgu sonucunda bunlara başvurulabilir.
keyExp1Gerekli. Öğe gruplarını belirlemek için kullanılacak anahtarı tanımlayan ifade. Bileşik anahtar belirtmek için birden fazla anahtar belirtebilirsiniz.
keyExp2Opsiyonel. Bileşik anahtar oluşturmak için ile
keyExp1birleştirilen bir veya daha fazla ek anahtar.aggregateListGerekli. Grupların nasıl toplandığını tanımlayan bir veya daha fazla ifade. Gruplandırılmış sonuçların üye adını tanımlamak için aşağıdaki formlardan birinde olabilecek anahtar sözcüğünü kullanın
Group:Into Group-veya-
Into <alias> = GroupGruba uygulanacak toplama işlevlerini de ekleyebilirsiniz.
Açıklamalar
Bir sorgunun sonuçlarını gruplara ayırmak için yan tümcesini Group By kullanabilirsiniz. Gruplandırma, birden çok anahtardan oluşan bir anahtarı veya bileşik anahtarı temel alır. Eşleşen anahtar değerleriyle ilişkilendirilmiş öğeler aynı gruba eklenir.
Gruba başvurmak aggregateListInto için kullanılan üye adını tanımlamak için yan tümcesinin parametresini ve Group anahtar sözcüğünü kullanırsınız. Gruplandırılmış öğelerin değerlerini hesaplamak için yan tümcesine toplama işlevleri Into de ekleyebilirsiniz. Standart toplama işlevlerinin listesi için bkz. Aggregate Yan Tümcesi.
Örnek
Aşağıdaki kod örneği, konumlarına (ülke/bölge) göre bir müşteri listesi gruplandırmaktadır ve her gruptaki müşterilerin sayısını sağlar. Sonuçlar ülke/bölge adına göre sıralanır. Gruplandırılmış sonuçlar şehir adına göre sıralanır.
Public Sub GroupBySample()
Dim customers = GetCustomerList()
Dim customersByCountry = From cust In customers
Order By cust.City
Group By CountryName = cust.Country
Into RegionalCustomers = Group, Count()
Order By CountryName
For Each country In customersByCountry
Console.WriteLine(country.CountryName &
" (" & country.Count & ")" & vbCrLf)
For Each customer In country.RegionalCustomers
Console.WriteLine(vbTab & customer.CompanyName &
" (" & customer.City & ")")
Next
Next
End Sub
Ayrıca bakınız
- Visual Basic'da LINQ'e
Giriş - Arama Sorguları
- Seçim Deyimi
- From İfadesi
- Order By İfadesi
- Toplama Madde
- Group Join Yan Tümcesi