На стороне базы данных вы можете сразу получить весь список фильмов со средним рейтингом. Я разделил его на строки для удобства чтения.
SELECT movies.*, AVG(movie_ratings.rating) AS rating
FROM movies
LEFT JOIN movie_ratings ON movies.id = movie_ratings.id
GROUP BY movies.id
ORDER BY rating DESC