Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die Top-N-Datensätze pro Gruppe in Microsoft Access SQL ab?

Wie rufe ich die Top-N-Datensätze pro Gruppe in Microsoft Access SQL ab?

DDD
DDDOriginal
2025-01-07 17:27:40885Durchsuche

How to Retrieve the Top N Records per Group in Microsoft Access SQL?

Verwenden Sie SQL (Access), um die obersten N Datensätze jeder Gruppe abzurufen

Frage:

Wie erhalte ich mithilfe von SQL in Microsoft Access die n neuesten Datensätze jeder Gruppe?

Hintergrund:

Benutzer haben Tabellen mit den Namen „Benutzer“ und „Fortschritt“, die Informationen über den Benutzer bzw. seine Punktzahl enthalten. Sie benötigen eine Abfrage, um die drei neuesten Ergebnisse für jeden Benutzer anzuzeigen.

Antwort:

Die folgende verschachtelte Abfrage ruft die drei neuesten Bewertungen für jeden Benutzer ab:

<code class="language-sql">SELECT PR1.LogInID, PR1.Score, PR1.[Date Taken]
FROM Progress AS PR1
WHERE PR1.[Date Taken] IN (
                        SELECT TOP 3 PR2.[Date Taken]
                        FROM Progress PR2
                        WHERE PR2.LoginID = PR1.LoginID
                        ORDER BY PR2.[Date Taken] DESC
                        )
ORDER BY LoginID, [Date Taken]</code>

Anleitung:

Die Unterabfrage innerhalb der

IN-Klausel verwendet das Schlüsselwort TOP und die ORDER BY-Klausel, um die drei neuesten Daten für jede LoginID abzurufen. Die Hauptabfrage wählt dann die entsprechenden Datensätze aus der Fortschrittstabelle aus, wobei die Spalte [Termindatum] mit einem der drei letzten Daten für jede LoginID übereinstimmt. Die ORDER BY-Klausel in der Hauptabfrage stellt sicher, dass die Datensätze in absteigender Reihenfolge nach LoginID und [Aufnahmedatum] sortiert werden.

Das obige ist der detaillierte Inhalt vonWie rufe ich die Top-N-Datensätze pro Gruppe in Microsoft Access SQL ab?. 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