Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mensimulasikan ROW_NUMBER() OVER (PARTITION BY) dalam MS Access?

Bagaimana untuk Mensimulasikan ROW_NUMBER() OVER (PARTITION BY) dalam MS Access?

Patricia Arquette
Lepaskan: 2024-12-31 08:41:09
asal
1038 orang telah melayarinya

How to Simulate ROW_NUMBER() OVER (PARTITION BY) in MS Access?

Mencapai ROW_NUMBER / PARTITION BY dalam MS Access

Dalam MS Access, anda boleh meniru fungsi fungsi ROW_NUMBER OVER (PARTITION BY) menggunakan gabungan dan pengagregatan diri yang tidak sama rata.

Pertimbangkan data contoh:

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 mencapai hasil yang serupa dengan ROW_NUMBER OVER (PARTITION BY DOC), laksanakan pertanyaan berikut:

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
Salin selepas log masuk

Pertanyaan ini akan mengembalikan lajur Ino Seq, yang memberikan integer berjujukan kepada setiap baris dalam partition (DOC dalam kes ini).

Dalam khusus ini kes, keputusannya ialah:

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 Bagaimana untuk Mensimulasikan ROW_NUMBER() OVER (PARTITION BY) dalam MS Access?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan