sql >> Database >  >> RDS >> Mysql

MySQL Krijg een rangorde van Leaderboards

Wanneer de database deze query uitvoert, selecteert deze eerst uit Scores , filteren op name = '$name' .

Vervolgens voert het voor elke rij de subquery uit:

(
 SELECT  COUNT(*)
   FROM    Scores ui
  WHERE   (ui.score, -ui.ts) >= (uo.score, -uo.ts)
) AS rank

Dit betekent dat voor elke rij Scores met de gezochte naam zoekt het hoeveel records er in Scores . zijn waar (ui.score, -ui.ts) is groter of gelijk aan de waarden van de huidige rij.

Ik hoop je geholpen te hebben...



  1. SQL Hoe maak ik een waarde voor een nieuwe kolom op basis van het aantal bestaande kolommen per groep?

  2. Is een impasse mogelijk bij het bijwerken en verwijderen van verschillende rijen in een tabel?

  3. 5 interessante feiten over databasebeheersystemen

  4. python MySQLDb-insert met voorbereide Statements