Using MySQL
Let's say NOW() is 2003-12-01 12:55:00
table: `requests`
-------------------------
session_id request_id logged_date_time
1 1 2003-12-01 12:00:00
1 2 2003-12-01 12:01:00
1 3 2003-12-01 12:01:30
2 1 2003-12-01 12:01:04
2 2 2003-12-01 12:02:12
I need to SELECT all session_id's WHERE request_id is the MAX() request_id in the session AND logged_date_time is greater than 20 minutes ago and delete the ENTIRE session (not just the last request in the session).
session_id request_id logged_date_time
1 3 2003-12-01 12:01:30
2 2 2003-12-01 12:02:12
SELECT session_id,max(request_id)
FROM requests
WHERE logged_date_time<=SUBTIME(NOW(),"00:20:00")
GROUP BY session_id
This gives me desired results, however I don't know how to then DELETE according to the session_id's it gives me.
If logged_date_time of the last request_id of a session is > 20 minutes ago it is safe to delete where session_id = the session.