Hallo,
Klar, denn unbechtet der anderen Fehler ist "date" ein Schküsselwort in MySQL http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html
folglich weiß MySQL spätetens an der Stelle ",date, MAX(date)" nichts mehr damit anzufangen. Um derartige Verwechselungen von Spaltennamen mit Schlüselwörtern zu vermeiden, kann man Spaltenamen in MySQL daher mit Backticks maskieren
IMHO machen den Backticks Code unübersichtlicher. In jedem Fall sind passende Spaltennamen wie z.B. "last_activity_date" die bessere Lösung.
Viele Grüße Siri