I'm totally new with SQL. I have two tables that I connect with an inner join, sorted, and filtered. Then I need to show only the two most recent entries grouped by "username." I don't know how to do that. I've looked at some of the solutions posted, but I don't know how to apply those to my situation.
Here's where I am now:
SELECT users.username, logs.event, logs.insertdate
FROM users
INNER JOIN logs ON users.identifier = logs.useridentifier
WHERE (((logs.event)="Taken" Or (logs.event)="Return"))
ORDER BY users.username, logs.insertdate DESC;
Here's an example of the output I get:
|username | event | insertdate |
================================
alan | Return| 10/15/2014 3:17 PM
alan | Taken | 10/15/2014 6:49 AM
alan | Return| 10/14/2014 3:16 PM
alan | Taken | 10/14/2014 6:50 AM
alan | Return| 10/13/2014 3:15 PM
bill | Return| 10/15/2014 3:19 PM
bill | Taken | 10/15/2014 6:53 AM
bill | Return| 10/14/2014 3:26 PM
bill | Taken | 10/14/2014 7:00 AM
bill | Return| 10/13/2014 3:19 PM
and so on. What I'm hoping to do is get just the top two entries from each user. So
|username | event | insertdate |
================================
alan | Return| 10/15/2014 3:17 PM
alan | Taken | 10/15/2014 6:49 AM
bill | Return| 10/15/2014 3:19 PM
bill | Taken | 10/15/2014 6:53 AM
Thanks