Wypróbuj to zapytanie
Jeśli chcesz tylko dla user1
następnie użyj tego zapytania:
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 |
Jeśli chcesz znaleźć najnowszą datę dla wszystkich użytkowników, użyj tego zapytania
select username, course_id, max(ldate) as date
from tbl
group by username, course_id
W tym zapytaniu dane user2
zostanie również uwzględniony
| USERNAME | COURSE_ID | DATE |
-------------------------------------
| user1 | 22 | 2013-06-03 |
| user1 | 54 | 2013-06-03 |
| user2 | 71 | 2013-06-04 |