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:

Into Group

-veya-

Into <alias> = Group

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

Select Tümcesi (Visual Basic)

From Tümcesi (Visual Basic)

Order By Tümcesi (Visual Basic)

Aggregate Tümcesi (Visual Basic)

Group Join Tümcesi (Visual Basic)

Kavramlar

Visual Basic'de LINQ'e Giriş

Diğer Kaynaklar

Sorgular (Visual Basic)