Group By Tümcesi (Visual Basic)
Sorgu sonucu öğeleri gruplandırır.Ayrıca her grup için toplama işlevleri uygulamak için kullanılabilir.Gruplandırma işlemi bir veya daha fazla anahtar üzerinde temel alır.
Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]
Into aggregateList
Bölümleri
Terim |
Tanım |
listField1, listField2 |
İsteğe Bağlı.Bir veya daha fazla alan sorgu değişkenine veya gruplandırılmış sonucu dahil edilecek alanları açıkça tanımlayan değişkenleri.Alan yok belirtilirse, tüm alanları sorgu değişkenine veya değişkenler gruplandırılmış sonucu dahil edilir. |
keyExp1 |
Gerekli.Öğe gruplarını belirlemek için kullanmak üzere tanımlayan bir ifade.Bileşik anahtar belirtmek için birden fazla anahtar belirtebilirsiniz. |
keyExp2 |
İsteğe Bağlı.İle birlikte bir veya daha fazla ek anahtar keyExp1 bir bileşik anahtar oluşturmak için. |
aggregateList |
Gerekli.Tanımlama grupları nasıl toplanan bir veya daha fazla ifade var.Gruplandırılmış sonuçlar için üye adı belirlemek için Group anahtar sözcüğünü aşağıdaki biçimlerden birinde olabilir:
-veya-
Ayrıca grubuna uygulamak için toplama işlevleri içerebilir. |
Notlar
Kullanabileceğiniz Group By bir sorgunun sonuçlarını gruplara ayırmak için yan tümcesi.Gruplandırma, bir anahtar veya birden çok anahtar oluşan bileşik bir anahtar temel alır.Eşleşen anahtar değerleri ile ilgili olan öğeler aynı gruba dahil edilir.
Kullandığınız aggregateList parametresi Into yan tümcesi ve Group Grup başvurmak için kullanılan üye adı tanımlamak için anahtar sözcük.Toplama işlevleri de dahil Into gruplandırılmış öğelerin değerlerini hesaplamak için yan tümcesi.Standart Toplama işlevlerinin bir listesi için bkz: Aggregate Tümcesi (Visual Basic).
Örnek
Aşağıdaki kod örneği, konumuna (ülke) bağlı müşterilerin listesini gruplandırır ve her grubundaki müşterilerin sayısını sağlar.Sonuçları ülke 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 bkz.
Başvuru
Order By Tümcesi (Visual Basic)
Aggregate Tümcesi (Visual Basic)
Group Join Tümcesi (Visual Basic)