2016-11-11 1 views
1

Ich habe eine Tabelle wie folgt aus:Wie Zeilennummern und GROUP BY in Access hinzufügen?

Tabel1

Jetzt möchte ich GROUP BY dem Field1, die nicht so schwer ist. Danach möchte ich jeder Gruppe eine Zeilennummer hinzufügen. Und schließlich ... muss das in Access gemacht werden, was natürlich etwas anders ist. Das ist also der Code, den ich habe:

SELECT A.*, (SELECT COUNT(*) FROM Tabel1 WHERE A.ID>=ID) AS RowNum 
FROM Tabel1 AS A 
ORDER BY A.ID; 

Result

Also, das funktioniert gut, aber jetzt kann ich nicht Gruppe es. Wie kann ich es gruppieren?

+0

Kann‘Sie verwenden, um die ROW_NUMBER() Funktion in Zugang? – VDK

+0

Wie soll Ihre Ausgabe aussehen? – Hambone

+0

@ Vijey-- Ich glaube nicht, MS Access unterstützt Fensterfunktionen – Hambone

Antwort

0

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:

enter image description here

+0

Ich möchte sie zuerst gruppieren und dann geben sie eine Zeilennummer ... –

+0

Gotcha - siehe Änderungen – Hambone