There are various ways to write this query. Here is one:create table dave ( username varchar(10), loggedon datetime)insert daveselect 'a',0union select 'a',1union select 'a',2union select 'a',3union select 'a',4union select 'a',5union select 'b',0union select 'b',1union select 'b',2union select 'b',3union select 'b',4union select 'b',5select username, loggedonfrom dave dwhere exists ( select 1 from dave where username = d.username and loggedon = d.loggedon group by username having ( select count(*) from dave where username = d.username and loggedon < d.loggedon) < 5)order by username, loggedon
Jay White{0}