Hallo!
GROUP BY hat erst mal nichts mit einem maximalen wert auslesen zu tun, sondern unterteilt eine abfrage in mehrere gruppen. du meinst sicherlich aus der gruppe den jeweils höchsten wert und die zugehörige id auslesen ;-)
Ja ;-)
da gibt es schon wege, dies zu erreichen, auch ohne den weg von mysql über russisch roulette zu gehen. du musst den kern von aussen angehen, sprich erstmal die ausgabespalten nehmen. dann gehst du ins innere der unterabfrage.
SELECT tab1.id, tab1.preis, tab1.warengruppe
FROM tabelle as tab1
WHERE tab1.preis =
(SELECT MAX(tab2.preis) FROM tabelle as tab2 WHERE tab2.warengruppe=tab1.warengruppe)
Ja, das ist wohl das beste. Hast Du Erfahrungswerte in welchen RDBMS das so wie Du es hier aufschreibst reibungslos funktioniert?
Grüße
Andreas
SELFHTML Feature Artikel: http://aktuell.de.selfhtml.org/artikel/