Zacznij od tego:
select StudentId, max(DateApproved)
from tbl
group by StudentId
Następnie zintegruj to z głównym zapytaniem:
select *
from tbl
where (StudentId, DateApproved) in
(
select StudentId, max(DateApproved)
from tbl
group by StudentId
)
Możesz również użyć tego:
select *
from tbl
join (select StudentId, max(DateApproved) as DateApproved
from tbl
group by StudentId)
using (StudentId, DateApproved)
Ale wolę testowanie krotek, tak jest ładniejszy
Test na żywo:http://www.sqlfiddle.com/#!2/771b8/ 5