Prova questa query
Se vuoi solo per user1
quindi usa questa query:
select username, course_id, max(ldate) as date
from tbl
where username='user1'
group by username, course_id
SQL FIDDLE
| USERNAME | COURSE_ID | DATE |
-------------------------------------
| user1 | 22 | 2013-06-03 |
| user1 | 54 | 2013-06-03 |
Se vuoi trovare la data più recente per tutti gli utenti, utilizza questa query
select username, course_id, max(ldate) as date
from tbl
group by username, course_id
In questa query i dati di user2
sarà incluso anche
| USERNAME | COURSE_ID | DATE |
-------------------------------------
| user1 | 22 | 2013-06-03 |
| user1 | 54 | 2013-06-03 |
| user2 | 71 | 2013-06-04 |