> It seems to do the job, but how good is it in the long run? Any way I
> could tweak it?
I think this form will work the best:
SELECT u.login, MAX(s.stop_time) AS last_use_time
FROM users u, stats s
WHERE u.id=s.user_id
AND u.status='3' AND u.next_plan_id IS NULL
GROUP BY u.login
HAVING MAX(s.stop_time) < (now() - interval '1 month')
ORDER BY last_use_time;