select student_id, name, sum(TotalScore) total_sum
from (select st.student_id student_id
, name
, max(score) as TotalScore
from students as st
join submissions as s
on st.student_id = s.student_id
group by s.contest_id, s.student_id)
group by student_id;
Вот демо
Я начал создавать демо перед вашими примерами данных ...
Из вашего текста в вашем вопросе я сделал не понял, для чего вам нужно having count(*) > 1
, поэтому я не использовал его.
Обратите внимание : я использовал students
в качестве имени таблицы, а не students2
.