Предполагая, что "последний" означает "самый большой id
", простой метод использует коррелированный подзапрос:
select s.*
from shoptbl s
where s.id = (select max(s2.id) from shoptbl s2 where s2.name = s.name);
Ваша модель данных испорчена. У вас есть отличные цифры для каждого студента. Нет необходимости повторять name
в других таблицах. Вместо этого используйте id
.