Commencez par ceci :
select StudentId, max(DateApproved)
from tbl
group by StudentId
Ensuite, intégrez-le à la requête principale :
select *
from tbl
where (StudentId, DateApproved) in
(
select StudentId, max(DateApproved)
from tbl
group by StudentId
)
Vous pouvez également utiliser ceci :
select *
from tbl
join (select StudentId, max(DateApproved) as DateApproved
from tbl
group by StudentId)
using (StudentId, DateApproved)
Mais je préfère les tests de tuple, c'est bien plus propre
Test en direct :http://www.sqlfiddle.com/#!2/771b8/ 5