sql >> Databasteknik >  >> RDS >> Mysql

Sortera rader för rader i en annan tabell för att fylla i en vad som är aktuellt

Du kan göra detta med en vänsteranslutning:

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;

Sammanslagningarna här säkerställer att nivåer som inte har röstats på får poäng (istället för null) och sorteras korrekt.




  1. En enkel introduktion till att använda MySQL på Linux-terminalen

  2. Kan du replikera en specifik databas eller tabell med Amazons RDS

  3. Är en CASE-sats och en DECODE ekvivalenta?

  4. cron-jobb eller PHP-schemaläggare