[MySQL] - Probleme beim Gruppieren von Datensätzen

anddie

Well-known member
ID: 171
L
3 Mai 2006
2.267
132
Hi,

ich habe 2 Tabellen. In einer sind Userdaten hinterlegt, in der zweiten sind für den User die letzten 5 Passwörter (logischerweise verschlüsselt) inkl. Zeitstempel abgelegt.

Jetzt möchte ich alle User herausfinden, wo der letzte Zeitstempel in der Passwortdatei in einem bestimmten Zeitintervall zurückliegt (zwischen 80 und 90 Tagen).
Ein
PHP:
SELECT login, DATEDIFF(NOW(), max(datum)) AS `diff` 
FROM user
LEFT JOIN PASSWORD ON user.id = password.uid
WHERE (
TO_DAYS(NOW()) - TO_DAYS(datum) >=80)
AND
TO_DAYS(NOW()) - TO_DAYS(datum) <90)
GROUP BY login
liefert zwar ein Ergebnis, aber leider nicht das richtige. Es wird scheinbar beim gruppieren nicht das maximale Datum für die jeweilige User-ID herangezogen, sondern ein beliebiges.

Ein reines
PHP:
SELECT login, DATEDIFF(NOW(), max(datum)) AS `diff` 
FROM user
LEFT JOIN password ON user.id = password.uid
GROUP BY login
liefert mir das richtige Ergebnis für jeden User, aber dann muss ich jeden einzelnen Datensatz durchgehen und schauen, ob die Differenz in meiner Zeitspanne liegt.