Рассмотрим:
SELECT floor(m.year / 10) * 10 decade
FROM movies m
INNER JOIN rate r on m.movieid = r.movieid
GROUP BY m.movieid, decade
ORDER BY avg(r.rank) desc
LIMIT 1
Это дает вам десятилетие с самым высоким усредненным ранжированием mov ie.
Примечание: у ваших исходных запросов были проблемы, а именно - столбец movieid
является неоднозначным, поскольку существует в обеих таблицах и не имеет префикса с именем таблицы.