Heim >Datenbank >MySQL-Tutorial >Wie rufe ich die Top-N-Datensätze pro Gruppe in Microsoft Access SQL ab?
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 derIN-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!