sql >> Database teknologi >  >> RDS >> Mysql

MySQL Highscores - Brugerens personlige rangeringer:Duplikerede poster, der forårsager forkerte værdier

prøv dette:

SET @rank = 0;
SELECT rank FROM (
    SELECT @rank:[email protected] + 1 AS rank, uid FROM playerstats ORDER BY overall DESC, 
    overallxp  DESC
) as tmp WHERE uid = 14950

avove-forespørgslen returnerer rangen for user14950

Denne forespørgsel viser alle brugerne og deres rækker

SET @rank=0;
SELECT rank, uid, overall, overallxp FROM (
SELECT @rank:[email protected] + 1 AS rank, uid, overall, overallxp FROM playerstats ORDER BY overall DESC, overallxp DESC
) as tmp 



  1. PostgreSQL:Opret indeks på længden af ​​alle tabelfelter

  2. Hvordan bruger man JOIN i Yii2 Active Record til relationel model?

  3. Dvale-fejl under vedvarende TEXT-datatype

  4. flere INDSÆT og holde PDO forberedt erklæring sikkerhed