Ilja: MySQL GROUP BY & MAX()

Beitrag lesen

yo,

SELECT MAX(b.BID),MAX(DATE_FORMAT(b.datum,'%d.%m')) AS zeit
FROM bewertung AS b
GROUP BY b.AID
ORDER BY b.BID DESC
LIMIT 5

Die Abfrage gruppiert mir alles schön, aber ordnet nicht nach dem aktuellsten Eintrag, sondern kreuz und quer :)

das problem liegt zum einen an deinen aggregat-funktionen. die MAX(b.BID) funktion und die MAX(DATE_FORMAT(b.datum,'%d.%m')) funktion sind unabhängig voneinander, sprich er nimmt die größte b.BID und den größten datumswert einer gruppierung, egal ob diese beiden werte in einem datensatz stehen oder in unterschiedlichen. und da du nach der b.BID sortierst, hat die sortierung schon mal gar nichts mit dem datum zu tun.

Ilja