Tente esta consulta
Se você quiser apenas para
user1
então use esta consulta: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 você deseja encontrar a data mais recente para todos os usuários, use esta consulta
select username, course_id, max(ldate) as date
from tbl
group by username, course_id
Nesta consulta de dados de
user2
também será incluído | USERNAME | COURSE_ID | DATE |
-------------------------------------
| user1 | 22 | 2013-06-03 |
| user1 | 54 | 2013-06-03 |
| user2 | 71 | 2013-06-04 |