On Feb 9, 2008 8:04 PM, Adam Rich <adam.r@xxxxxxxxxxxxx> wrote: > > 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 If only ba small number of fields have next_plan as null, an they correlate to the status normally, then an index on state where next_plan_id is null might help here. > GROUP BY u.login > HAVING MAX(s.stop_time) < (now() - interval '1 month') > ORDER BY last_use_time; ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@xxxxxxxxxxxxxx so that your message can get through to the mailing list cleanly