Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Penomboran Baris dalam Kumpulan Menggunakan Pemisahan LINQ?

Bagaimana untuk Melaksanakan Penomboran Baris dalam Kumpulan Menggunakan Pemisahan LINQ?

DDD
DDDasal
2024-12-30 06:50:10669semak imbas

How to Implement Row Numbering within Groups Using LINQ Partitioning?

Penomboran Baris dengan Pemisahan LINQ

Memandangkan Jadual Data yang diisi dengan pemuzik dan instrumen mereka, kami ingin meniru kefungsian pertanyaan MSSQL menggunakan LINQ untuk menentukan susunan kedudukan dalam setiap kumpulan instrumen.

Dalam LINQ, kita boleh mencapainya dengan gabungan operasi kumpulan dan pemilihan:

var orderedBeatles = from b in beatles
                    group b by b.inst into instGroup
                    select new
                    {
                        b.id,
                        b.inst,
                        b.name,
                        rn = instGroup.Count()
                    };

Di sini, kami mengumpulkan Beatles berdasarkan instrumen mereka (inst) dan menggunakan kaedah Count() untuk mengira nombor baris ( rn) untuk setiap instrumen. Kami kemudian mencipta jenis tanpa nama untuk setiap Beatle, termasuk sifat asal serta nombor baris yang dikira.

Pertanyaan LINQ ini menghasilkan output berikut:

id |   inst   |   name  | rn
-----------------------------
 1 |  guitar  |  john   | 1
 2 |  guitar  |  george | 2
 3 |  guitar  |  paul   | 3
 4 |  drums   |  ringo  | 1
 5 |  drums   |  pete   | 2

Hasil ini mencerminkan jangkaan output daripada pertanyaan MSSQL, menyediakan penomboran baris yang dikehendaki dalam kumpulan instrumen menggunakan pembahagian LINQ.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Penomboran Baris dalam Kumpulan Menggunakan Pemisahan LINQ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn