Ich mache einige Software, die die Ergebnisse eines Tests verfolgt. Es gibt mehrere Benutzer, deren Details in einer Benutzertabelle gespeichert sind. Es gibt dann eine Fortschrittstabelle, die eine Partitur mit dem Datum und dem Benutzer, der sie bewertet, verfolgt.Top n Datensätze pro Gruppe sql im Zugriff
Ich kann schon wählen Sie die drei neuesten Datensätze für einen ausgewählten Benutzer-ID
SELECT TOP 3 Progress.LoginID, Progress.Score, Progress.[Date Taken]
FROM Progress
WHERE (((Progress.LoginID)=[Enter LoginID:]))
ORDER BY Progress.[Date Taken] DESC;
Und ich kann alle Datensätze von LoginID gruppiert anzeigen
SELECT Progress.LoginID, Progress.Score, Progress.[Date Taken]
FROM Progress
GROUP BY Progress.LoginID, Progress.Score, Progress.[Date Taken];
Ich will das 3 zeigen können, die neuesten Datensätze für jeden Benutzer in einer Abfrage und ich bin mir nicht sicher, wie man dazu verschachtelte Abfragen/Unterabfragen verwendet.
Die Feldnamen für die Benutzertabelle sind:
LoginID
Forename
Surname
DOB
Guardian Forename
Guardian Surname
Telephone Number
Die Feldnamen für den Fortschritt Tabelle sind:
ProgressID
LoginID
Score
Date Taken
Jede Hilfe würde geschätzt.