Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mensimulasikan Fungsi ROW_NUMBER() dalam Microsoft Access?

Bagaimana untuk Mensimulasikan Fungsi ROW_NUMBER() dalam Microsoft Access?

Patricia Arquette
Patricia Arquetteasal
2025-01-02 13:12:38292semak imbas

How to Simulate ROW_NUMBER() Functionality in Microsoft Access?

Mencapai Fungsi Nombor Baris dalam MS Access

Fungsi "ROW_NUMBER OVER (PARTITION BY)", yang biasa digunakan dalam SQL untuk menetapkan nombor berjujukan dalam partition set hasil, boleh dicontohi dalam Microsoft Access menggunakan sambung sendiri dan pengagregatan.

Pertimbangkan set data berikut:

DOC_TYPE    Ino
3a  1800xxc1
3b  1810xxc2
3c  1700xxc3
3a  1700xxc4
3a  1800xxc5
3a  1800xxc6
3b  1800xxc7

Untuk meniru kelakuan "ROW_NUMBER", kita boleh menggunakan pertanyaan seperti ini:

SELECT 
    t1.DOC_TYPE,
    t1.Ino,
    COUNT(*) AS RowNum
FROM 
    YourTable AS t1
    INNER JOIN
    YourTable AS t2
        ON t2.DOC_TYPE = t1.DOC_TYPE
            AND t2.Ino <= t1.Ino
GROUP BY
    t1.DOC_TYPE,
    t1.Ino
ORDER BY 1, 3

Pertanyaan ini menyertai sendiri jadual pada lajur DOC_TYPE dan perbandingan nilai Ino yang kurang daripada atau sama. Ia kemudiannya mengagregatkan baris mengikut DOC_TYPE dan Ino, mengira kejadian setiap pasangan DOC_TYPE, Ino yang unik. Kiraan yang terhasil, yang diberikan kepada alias RowNum, mewakili nombor baris berjujukan.

Menggunakan pertanyaan ini pada data sampel akan menghasilkan hasil berikut:

DOC_TYPE    Ino RowNum
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 Bagaimana untuk Mensimulasikan Fungsi ROW_NUMBER() dalam Microsoft 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