Gostaria de saber quais critérios você está usando para agrupá-los. Estou assumindo que sempre haverá valores NULL e um número... porque isso corresponde ao exemplo, mas mais detalhes seria melhor!
SELECT studentID, studentName, max(MathGrade), max(SciGrade) from vStudentGrade
group by studentID, studentName, MathGrade, SciGrade
Espero que isso ajude ou guie você para uma solução :)