Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Meniru 'ROW_NUMBER() OVER (PARTITION BY ...)' SQL dalam MS Access?

Bagaimanakah Saya Boleh Meniru 'ROW_NUMBER() OVER (PARTITION BY ...)' SQL dalam MS Access?

DDD
DDDasal
2024-12-17 02:16:25143semak imbas

How Can I Replicate SQL's

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!

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