klanor
Neuer Benutzer
- Beiträge
- 4
Hallo zusammen,
ich bin neu hier (habe mich soeben registriert) und komme direkt mit einer Frage um die Ecke, die ich alleine nicht lösen kann:
Ich möchte aus einer Liste von Dateien, die verschiedene User hochgeladen haben eine Ausgabe erhalten, in der von jedem User dessen neueste Datei enthalten ist.
Es gibt neben der UserId noch das Datum des Uploads, den Dateinamen (und eine Kategorie).
Mit folgendem Statement habe ich begonnen:
Die Ausgabe ist wie erwartet korrekt, aber ich möchte noch weitere Spalten bekommen, die ich nicht mit gruppieren will, weil dadurch das Ergebnis nicht mehr nur eine Datei pro User enthalten würde.
Nicht aggregierte Spalten in der Abfrage müssen aber auch mit gruppiert werden. Also scheint dieser Ansatz wohl nicht der richtige zu sein ...
Als Beispiel habe ich mal folgende Daten zur Auswahl:
Mit meiner Abfrage oben erhalte ich korrekt:
Ziel ist es aber, folgendes Ergebnis zu erhalten:
Hat jemand eine Idee, wie ich das lösen kann?
ich bin neu hier (habe mich soeben registriert) und komme direkt mit einer Frage um die Ecke, die ich alleine nicht lösen kann:
Ich möchte aus einer Liste von Dateien, die verschiedene User hochgeladen haben eine Ausgabe erhalten, in der von jedem User dessen neueste Datei enthalten ist.
Es gibt neben der UserId noch das Datum des Uploads, den Dateinamen (und eine Kategorie).
Mit folgendem Statement habe ich begonnen:
Code:
SELECT
UserId,
max( UpladDate )
FROM
UserFiles
GROUP BY
UserId
Die Ausgabe ist wie erwartet korrekt, aber ich möchte noch weitere Spalten bekommen, die ich nicht mit gruppieren will, weil dadurch das Ergebnis nicht mehr nur eine Datei pro User enthalten würde.
Nicht aggregierte Spalten in der Abfrage müssen aber auch mit gruppiert werden. Also scheint dieser Ansatz wohl nicht der richtige zu sein ...
Als Beispiel habe ich mal folgende Daten zur Auswahl:
Code:
UserId UploadDate FileName
1 2024-01-01 Datei1
1 2024-02-01 Datei2
2 2024-01-15 Datei3
2 2024-02-15 Datei4
Mit meiner Abfrage oben erhalte ich korrekt:
Code:
1 2024-02-01
2 2024-02-15
Ziel ist es aber, folgendes Ergebnis zu erhalten:
Code:
1 2024-02-01 Datei2
2 2024-02-15 Datei4
Hat jemand eine Idee, wie ich das lösen kann?
Zuletzt bearbeitet: