Bonjour,

J'ai une requête SQL qui permet de retrouver un classement en fonction de votes :

SELECT * FROM users WHERE vote_count > 0 ORDER BY vote_count DESC, voted_at DESC LIMIT 15

J'aimerais pouvoir ajouter un champs qui donne la place dans le classement sans l'ajouter dans la table, par exemple

SELECT *, FCTQUITROUVELAPLACE place FROM users WHERE vote_count > 0 ORDER BY vote_count DESC, voted_at DESC LIMIT 15

Quelqu'un saurait-il comment faire ceci ? J'ai vu qu'on pouvait faire des counter mais j'ai vu que dans des updates
Et sur google, je ne tombe que sur la fonction COUNT

Merci d'avance :)

1 réponse


AlexJM
Auteur
Réponse acceptée

Bon bah j'ai trouvé, je laisse le sujet au cas ou ça intéresse quelqu'un, il faut faire comme ceci:

SELECT
        @counter := @counter + 1 place,
        users.*
      FROM users
        CROSS JOIN (SELECT @counter := 0) c
      WHERE vote_count > 0
      ORDER BY vote_count DESC, voted_at DESC
      LIMIT 15

Source: http://stackoverflow.com/questions/13566695/select-increment-counter-in-mysql