Ваш запрос выглядит довольно хорошо, вы просто пропускаете предложение GROUP BY
:
select m.id, m.title, m.description, avg(v.starCount)
from movies m
join votes v on movies.id = votes.movieid
group by m.id, m.title, m.description
Каждый неагрегированный столбец должен быть объявлен в предложении GROUP BY
: это относится ко всем столбцам, выбранным из movies
. С другой стороны, votes.starCount
агрегируется функцией AVG
, следовательно, он не обязательно должен быть частью предложения GROUP BY
.