Je farfouille souvent dans mes bases de données pour réaliser diverses tâches. A cette occasion, j’écris des requêtes SQL pour extraire des données.
Il m’arrive régulièrement d’avoir besoin de connaitre le classement d’une ligne, son rang, ce qu’on appelle habituellement le « rownum ».
MySQL n’est pas doté nativement de ce mot clé. Heureusement il existe une astuce très simple.
Il suffit de créer une variable juste avant la requête comme ceci :
SET @pos=0; SELECT @pos:=@pos+1, t.* FROM `matable` t where monchamp = "macondition" and ... order by monchamp2
Très simple mais ca marche terriblement bien.
Une bonne astuce à garder sous le coude, d’autant qu’elle fonctionne dans PHPMyAdmin.
Vous avez plus simple ? N’hésitez pas à partager.