I have a list of usernames and logs. Unfortunately, a LOGIN record may not always be accompanied by a LOGOUT record.
I want to delete any line with the same [event] and [user_id] as the previous line when sorted by [event_date]
Any suggestions on how to do this?
Table of examples
CREATE TABLE
[id] int IDENTITY(1,1),
[user_id] int,
[event] varchar(50),
[event_date] datetime
);
INSERT INTO
SELECT 1,'LOGIN',{ts '2010-12-15 15:31:59'}
UNION ALL SELECT 1,'LOGOUT',{ts '2010-12-15 15:32:55'}
UNION ALL SELECT 1,'LOGIN',{ts '2010-12-15 15:38:04'}
UNION ALL SELECT 1,'LOGOUT',{ts '2010-12-15 15:38:17'}
UNION ALL SELECT 1,'LOGOUT',{ts '2010-12-15 15:38:45'}
UNION ALL SELECT 2,'LOGIN',{ts '2010-12-15 16:59:39'}
UNION ALL SELECT 2,'LOGOUT',{ts '2010-12-15 17:00:08'}
UNION ALL SELECT 2,'LOGOUT',{ts '2010-12-15 17:00:39'}
UNION ALL SELECT 2,'LOGOUT',{ts '2010-12-15 17:01:16'}
UNION ALL SELECT 2,'LOGIN',{ts '2010-12-15 17:01:38'}
UNION ALL SELECT 2,'LOGIN',{ts '2010-12-15 17:02:26'}
UNION ALL SELECT 2,'LOGOUT',{ts '2010-12-15 17:02:39'}
source
share