Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Sortowanie wierszy według wierszy w innej tabeli w celu wypełnienia listy Na topie

Możesz to zrobić za pomocą lewego sprzężenia:

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;

Koalescencje tutaj zapewniają, że poziomy, na które nie głosowano, uzyskują wynik (zamiast null) i są prawidłowo sortowane.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP SQL, zapytanie zwraca tylko jeden wiersz danych

  2. NodeJS/mySQL - ER_ACCESS_DENIED_ERROR Odmowa dostępu dla użytkownika 'root'@'localhost' (przy użyciu hasła:TAK)

  3. Zapytanie SQL — Ograniczanie wyników zapytań

  4. Oblicz różnicę czasu między dwoma znacznikami czasu w mysql

  5. Wstawianie dat w formacie mm/dd/rrrr w MySQL