Bagikan melalui


Klausa Kelompokkan Menurut (Visual Basic)

Mengelompokkan elemen hasil kueri. Juga dapat digunakan untuk menerapkan fungsi agregat ke setiap grup. Operasi pengelompokan didasarkan pada satu atau beberapa kunci.

Sintaksis

Group [ listField1 [, listField2 [...] ] By keyExp1 [, keyExp2 [...] ]  
  Into aggregateList  

-atau-

Group [ listField1 [, listField2 [...] ] By alias1 = keyExp1 [, alias2 = keyExp2 [...] ]  
  Into aggregateList  

Bagian

  • listField1, listField2

    Fakultatif. Satu atau beberapa bidang variabel atau variabel kueri yang secara eksplisit mengidentifikasi bidang yang akan disertakan dalam hasil yang dikelompokkan. Jika tidak ada bidang yang ditentukan, semua bidang variabel atau variabel kueri disertakan dalam hasil yang dikelompokkan.

  • alias1, alias2

    Fakultatif. Nama yang ditetapkan ke kunci pengelompokan. Jika alias disediakan, alias dapat direferensikan dalam hasil kueri alih-alih ekspresi kunci.

  • keyExp1

    Dibutuhkan. Ekspresi yang mengidentifikasi kunci yang akan digunakan untuk menentukan grup elemen. Anda dapat menentukan lebih dari satu kunci untuk menentukan kunci komposit.

  • keyExp2

    Fakultatif. Satu atau beberapa kunci tambahan yang dikombinasikan dengan keyExp1 untuk membuat kunci komposit.

  • aggregateList

    Dibutuhkan. Satu atau beberapa ekspresi yang mengidentifikasi bagaimana grup dikumpulkan. Untuk mengidentifikasi nama anggota untuk hasil yang dikelompokkan, gunakan Group kata kunci, yang dapat berada di salah satu formulir berikut:

    Into Group  
    

    -atau-

    Into <alias> = Group  
    

    Anda juga dapat menyertakan fungsi agregat untuk diterapkan ke grup.

Komentar

Anda bisa menggunakan Group By klausa untuk memecah hasil kueri menjadi grup. Pengelompokan didasarkan pada kunci atau kunci komposit yang terdiri dari beberapa kunci. Elemen yang terkait dengan nilai kunci yang cocok disertakan dalam grup yang sama.

Anda menggunakan aggregateList parameter Into klausa dan Group kata kunci untuk mengidentifikasi nama anggota yang digunakan untuk mereferensikan grup. Anda juga dapat menyertakan fungsi agregat dalam Into klausul untuk menghitung nilai untuk elemen yang dikelompokkan. Untuk daftar fungsi agregat standar, lihat Klausul Agregat.

Contoh

Contoh kode berikut mengelompokkan daftar pelanggan berdasarkan lokasi mereka (negara/wilayah) dan menyediakan hitungan pelanggan di setiap grup. Hasilnya diurutkan menurut nama negara/wilayah. Hasil yang dikelompokkan diurutkan menurut nama kota.

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

Lihat juga