Erzielung der Zeilennummernfunktionalität in MS Access
Die Funktion „ROW_NUMBER OVER (PARTITION BY)“, die in SQL häufig zum Zuweisen fortlaufender Nummern verwendet wird innerhalb von Partitionen eines Ergebnissatzes können in Microsoft Access mithilfe von Selbstverknüpfungen und emuliert werden Aggregation.
Betrachten Sie den folgenden Datensatz:
DOC_TYPE Ino 3a 1800xxc1 3b 1810xxc2 3c 1700xxc3 3a 1700xxc4 3a 1800xxc5 3a 1800xxc6 3b 1800xxc7
Um das „ROW_NUMBER“-Verhalten zu reproduzieren, können wir eine Abfrage wie diese verwenden:
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
Diese Abfrage Verknüpft die Tabelle selbst in der Spalte DOC_TYPE und führt einen Kleiner-gleich-Vergleich der Ino-Werte durch. Anschließend werden die Zeilen nach DOC_TYPE und Ino aggregiert und das Vorkommen jedes eindeutigen DOC_TYPE-Ino-Paars gezählt. Die resultierende Anzahl, die dem RowNum-Alias zugewiesen ist, stellt die fortlaufende Zeilennummer dar.
Das Anwenden dieser Abfrage auf die Beispieldaten führt zu folgendem Ergebnis:
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
Das obige ist der detaillierte Inhalt vonWie simuliere ich die ROW_NUMBER()-Funktionalität in Microsoft Access?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!