Inizia con questo:
select StudentId, max(DateApproved)
from tbl
group by StudentId
Quindi integralo nella query principale:
select *
from tbl
where (StudentId, DateApproved) in
(
select StudentId, max(DateApproved)
from tbl
group by StudentId
)
Puoi anche usare questo:
select *
from tbl
join (select StudentId, max(DateApproved) as DateApproved
from tbl
group by StudentId)
using (StudentId, DateApproved)
Ma preferisco il test delle tuple, è così più ordinato
Test dal vivo:http://www.sqlfiddle.com/#!2/771b8/ 5