sql >> Databasteknik >  >> RDS >> Mysql

hur man får positionen för sorterade rader med mysql och php

Det finns två sätt att göra det:

Metod 1:

SET @i = 0;

SELECT * FROM 
scores s1 INNER JOIN (SELECT *, @i := @i + 1 AS rank FROM scores ORDER BY score DESC) AS s2 USING (id);

Metod 2:

SELECT *, (SELECT COUNT(1) AS num FROM scores WHERE scores.score > s1.score) + 1 AS rank FROM scores AS s1
ORDER BY rank asc


  1. Hur summerar man värden för en kolumn i SQL?

  2. Mysqli_fetch_assoc($result), pekaren flyttas till nästa post. Finns det något sätt att återställa pekaren till början av frågeresultatet?

  3. MySQL-angiven nyckel var för lång

  4. Skillnad mellan två datum i MySQL