Sie können Ihre gesamte Abfrage in einer Unterabfrage wickeln:
select
B.*
from
(SELECT
A.*,
(SELECT COUNT(*) FROM Tabel1 WHERE A.ID>=ID) AS RowNum
FROM Tabel1 AS A
) as B
ORDER BY B.ID;
Von hier aus können Sie schließt sich tun, als ob die Ausgabe der Abfrage eine Tabelle war. Ich habe keine Ahnung, was Sie tatsächlich gruppieren möchten, aber hier ist ein Beispiel:
select
B.Field1, count (*) as count, max (B.RowNum) as max_row
from
(SELECT
A.*,
(SELECT COUNT(*) FROM Tabel1 WHERE A.ID>=ID) AS RowNum
FROM Tabel1 AS A
) as B
group by
b.Field1
- Bearbeiten 2016.11.14 -
Ich glaube, ich sehe jetzt. In diesem Fall erstellen Sie zuerst eine Abfrage, um Ihre Gruppierung zu verarbeiten. Dies ist nur ein Beispiel:
SELECT Field1, min (Id) as min_id, max (id) as max_id
FROM Table1
group by Field1
Namen diese Abfrage Table1_Summary
für die Zwecke unseres Beispiels.
nun in der neuen Abfrage, werden Sie auf Table1_Summary in genau der gleichen Art und Weise beziehen Sie mit Ihrem Beispiel haben:
SELECT
t.*,
(select count (*) from Table1_Summary t2 where t.Field1 >= t2.Field1) as RowNum
FROM Table1_Summary t
könnten Sie theoretisch dies in einer einzigen Abfrage, sondern aus Gründen der Lesbarkeit/Wartbarkeit Sake Ich würde dir empfehlen, sie zu teilen. Hier ist ein Beispiel für die Ausgabe:
Kann‘Sie verwenden, um die ROW_NUMBER() Funktion in Zugang? – VDK
Wie soll Ihre Ausgabe aussehen? – Hambone
@ Vijey-- Ich glaube nicht, MS Access unterstützt Fensterfunktionen – Hambone