Sortierung/Gruppierung nach VersionsID im mySQL

hollaridoh

Grünschnabel
Hallo!
Folgende mySQL-Tabelle beinhaltet die Verwaltung von Softwareprojekten.

ProjektID----------VersionsNr--------------Dateiname
1000-------------------------1--------------------------datei1.exe
1000-------------------------2-------------------------datei2.exe
1000-------------------------3-------------------------dateiname.exe
2000-------------------------1-------------------------anderedatei.exe
2000-------------------------2-------------------------dat.exe
2000-------------------------3-------------------------file.exe

Jetzt möchte ich eine Auflistung der Dateinamen der höchsten VersionsNr für jedes Projekt haben. (Also die jeweils aktuellste Datei...)

select ProjektID,MAX(VersionsNR),Dateiname from Tabelle group by ProjektID

liefert

ProjektID-----------VersionsNr----------------Dateiname
1000-------------------------3-------------------------datei1.exe
2000-------------------------3-------------------------anderedatei.exe

also zwar die höchste VersionsNR, aber den Dateinamen der allerersten version.

Hast jemand ne Idee wie das richtig geht?
Danke!
Hollaridoh
 
Das liegt am max(), da dieser den maximalen Wert zieht.
Probiers mal so:

select ProjektID, VersionsNR, Dateiname
from Tabelle
where VersionsNR = MAX(VersionsNR)
group by ProjektID

Nur mal so als Vorschlag
 
Hallo!

Die Abfrage funktioniert so leider nicht:
"ERROR 1111 (Invalid use of group function)

Liegt wohl daran, dass in der Where-Klausel eine Gruppierungs-Funktion verwendet wird (Max ist ja ne Gruppierungsfunktion)

Trotzdem Danke!
 
Zurück