Mencapai Penomboran Baris dalam MS Access
Fungsi "Nombor Baris Melebihi Pemisahan Oleh", yang biasa ditemui dalam pangkalan data seperti SQL Server, membenarkan penetapan nilai integer berjujukan kepada baris dalam partition tertentu set hasil. Walaupun MS Access tidak menyokong fungsi ini secara asli, adalah mungkin untuk mencapai hasil yang serupa.
Kaedah Join Sendiri
Satu pendekatan untuk meniru "Nombor Baris Atas Pemisahan Oleh" dalam Access adalah melalui penyertaan diri yang tidak sama rata. Pertimbangkan jadual berikut:
Ino | Type | DOC |
---|---|---|
1 | 1800xxc1 | 3a |
2 | 1810xxc2 | 3b |
3 | 1700xxc3 | 3c |
4 | 1700xxc4 | 3a |
5 | 1800xxc5 | 3a |
6 | 1800xxc6 | 3a |
7 | 1800xxc7 | 3b |
Pertanyaan berikut menggunakan penyambungan sendiri untuk mengira nombor baris dalam partition berdasarkan medan "DOC":
SELECT t1.DOC, t1.Type, COUNT(*) AS [Ino Seq] FROM MyData AS t1 INNER JOIN MyData AS t2 ON t2.DOC = t1.DOC AND t2.Ino <= t1.Ino GROUP BY t1.DOC, t1.Type ORDER BY 1, 3
Pertanyaan ini mengembalikan keputusan berikut:
DOC | Type | Ino Seq |
---|---|---|
3a | 1800xxc1 | 1 |
3a | 1700xxc4 | 2 |
3a | 1800xxc5 | 3 |
3a | 1800xxc6 | 4 |
3b | 1810xxc2 | 1 |
3b | 1800xxc7 | 2 |
3c | 1700xxc3 | 1 |
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mensimulasikan Fungsi ROW_NUMBER() OVER (PARTITION BY) dalam MS Access?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!