Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Sortieren von Zeilen nach Zeilen in einer anderen Tabelle, um eine Hot-Liste zu füllen

Sie können dies mit einem linken Join tun:

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;

Die Koaleszenzen hier stellen sicher, dass Ebenen, über die noch nicht abgestimmt wurde, eine Punktzahl (statt null) erhalten und korrekt sortiert werden.