Frank (no reg): mysql: HAVING

Beitrag lesen

Hallo,

HAVING MAX(datum) ist ja so auch nicht wirklich vollständig. Das ist ungefähr genauso als wenn du schreibst WHERE datum.

Ausserdem ist deine Problemstellung nicht mit HAVING zu lösen sondern mit einer korrelierenden Unterabfrage

SELECT n1.id, n1.name, n1.datum, n1.nachricht
FROM nachrichten n1
WHERE datum =
(SELECT max(datum)
FROM nachrichten n2 where n2.name = n1.name)

oder mit einem Join

SELECT n1.id, n1.name, n1.datum, n1.nachricht
FROM nachrichten n1
INNER JOIN (Select name, max(datum)  as maxdatum
FROM nachrichten
GROUP BY name) n2
on n1.name = n2.name
and n1.datum = n2.maxdatum

Gruss, Frank