Mysql
 sql >> Base de données >  >> RDS >> Mysql

comment obtenir la position des lignes triées en utilisant mysql et php

Il y a deux façons de le faire :

Méthode 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);

Méthode 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