Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Meniru 'ROW_NUMBER() OVER (PARTITION BY ...)' SQL dalam MS Access?
Melaksanakan "Row Number Over Partition By" dalam MS Access
Dalam MS Access, mencapai fungsi "Row Number Over Partition By "fungsi memerlukan pendekatan alternatif. Satu kaedah adalah dengan melakukan cantuman diri yang tidak sama rata pada jadual yang dipersoalkan.
Contoh:
Pertimbangkan jadual berikut, [Data Saya]:
Ino | TYPE | DOC |
---|---|---|
1 | 1800xxc1 | 3a |
2 | 1810xxc2 | 3b |
3 | 1700xxc3 | 3c |
4 | 1700xxc4 | 3a |
5 | 1800xxc5 | 3a |
6 | 1800xxc6 | 3a |
7 | 1800xxc7 | 3b |
Untuk meniru fungsi "Nombor Baris Atas Pemisahan Oleh" dalam kes ini, kita boleh menggunakan yang berikut pertanyaan:
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 mendapatkan semula nombor jujukan untuk setiap baris dalam setiap partition yang ditakrifkan oleh lajur [DOC]. Outputnya akan menyerupai:
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 Meniru 'ROW_NUMBER() OVER (PARTITION BY ...)' SQL dalam MS Access?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!