niklaskamenisch: höchsten Datumswert aus Tabelle auslesen

Beitrag lesen

hi,

Hello,

Das ist nur die halbe Miete, weil er ja gerade ausschließen muss, dass es in der Ergebnismenge überhaupt welche gibt, die ein Datum >= Wunschdatum haben... Wenn ich die Aufgabenstellung richtig verstanden habe.

nö, ein einfaches HAVING mit MAX(loginzeit) < ... sollte reichen.

Nette Idee. Ich kriegs leider nicht hin.
Könntest Du bitte noch mal zeigen?

Bastian wollte ja alle User sehen, die sich schon länger als Datum-x nicht angemeldet haben.

also über die User gruppieren und dann ?

SELECT user, logindate
   FROM logindata
   GROUP BY user
   HAVING MAX(logindate) < '#datum#';

Mit MySQL müsste das doch auch so funktionieren. Da bekomme ich immer "you have an error near heaving" oder soweas ähniches

du kannst in having nur verwenden, was auch im select steht (max ist dort nicht). Daher vermutlich der fehler ... so auf die fixe vermutet.

von einem anderen thema bei mysql.com hab ich diese lösung, die dürftest du für dich anpassen können:

SELECT l.LogID, l.FileID, l.ChangeDate, l.Freitext  
FROM log AS l  
WHERE l.ChangeDate=(SELECT MAX(ls.ChangeDate) FROM log AS ls WHERE ls.FileID=l.FileID)  
GROUP BY l.FileID 

auf jeden fall wirst du einen fehler bekommen, da das group by dir das wohl nicht so groupieren wird, wie es für dich sinnvoll ist (er älteste eintrag wird vermutlich angezeigt, da er der mit der kleinsten internen id ist).
Gruß Niklas

--
Man muss nicht alles wissen, man sollte aber wissen, wo das nicht gewusste zu finden ist.