Heim >Datenbank >MySQL-Tutorial >Wie kann ich die Funktionalität von ROW_NUMBER() OVER (PARTITION BY) in MS Access simulieren?

Wie kann ich die Funktionalität von ROW_NUMBER() OVER (PARTITION BY) in MS Access simulieren?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-24 21:47:11589Durchsuche

How Can I Simulate ROW_NUMBER() OVER (PARTITION BY) Functionality in MS Access?

Zeilennummerierung in MS Access erreichen

Die Funktion „Zeilennummer über Partitionierung nach“, die häufig in Datenbanken wie SQL Server zu finden ist, ermöglicht dies die Zuweisung sequentieller ganzzahliger Werte zu Zeilen innerhalb einer angegebenen Partition einer Ergebnismenge. Obwohl MS Access diese Funktion nicht nativ unterstützt, ist es möglich, ein ähnliches Ergebnis zu erzielen.

Selbstverknüpfungsmethode

Ein Ansatz zur Emulation von „Zeilennummer über Partition“. „By“ erfolgt in Access durch einen ungleichen Selbst-Join. Betrachten Sie die folgende Tabelle:

Ino Type DOC
1 1800xxc1 3a
2 1810xxc2 3b
3 1700xxc3 3c
4 1700xxc4 3a
5 1800xxc5 3a
6 1800xxc6 3a
7 1800xxc7 3b

Die folgende Abfrage verwendet einen Self-Join, um Zeilennummern innerhalb einer Partition basierend auf dem Feld „DOC“ zu berechnen:

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

Diese Abfrage gibt die zurück folgendes Ergebnis:

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

Das obige ist der detaillierte Inhalt vonWie kann ich die Funktionalität von ROW_NUMBER() OVER (PARTITION BY) in MS Access simulieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn