Ваша проблема, вероятно, в неуместных скобках.
SELECT SUM(grade * ratio) / SUM(ratio) AS averageOfCourses
FROM myTable
Если вы действительно хотите сделать СУММУ значений, разделенных на СУММУ, то вам придется работать намного усерднее;Вы не можете делать агрегаты напрямую.
Чтобы сделать то, что вы написали, вам нужно переписать его как:
SELECT SUM((grade * ratio) / sum_ratio) AS averageOfCourses
FROM (SELECT grade, ratio, SUM(ratio) AS sum_ratio
FROM myTable
GROUP BY grade, ratio) AS precalculation
(окончательный AS
требуется стандартомSQL, но ничего не вносит в этот запрос.)
В этом контексте я даже не уверен, что он дает другой ответ.