Можете да направите това с ляво съединение:
SELECT levels.*, coalesce(sum(votes.vote),0) as total_vote
FROM levels
LEFT JOIN votes ON votes.levelid = levels.id
WHERE votes.date >=( CURDATE() - INTERVAL 7 DAY ))
GROUP BY levels.id
ORDER BY coalesce(sum(votes.vote),0) desc;
Обединяването тук гарантира, че нивата, за които не е гласувано, получават резултат (вместо нула) и са сортирани правилно.