Попробуйте:
SELECT a.id, a.name, AVG(b.rating) AS average
FROM games a
LEFT JOIN games_ratings b
ON a.id = b.id # <-- You need this line I believe
GROUP BY a.id
ORDER BY average DESC LIMIT 50;
Редактировать: Это немного сложно без вашей полной схемы, но вы можете попробовать что-то вроде этого.
SELECT a.id, a.name, AVG(b.rating) AS average, COUNT( b.id) as votes
FROM games a
LEFT JOIN games_ratings b
ON a.id = b.id
GROUP BY a.id
ORDER BY votes DESC, average DESC LIMIT 50; # <-- You may need to modify this line