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

ROW_NUMBER() dans MySQL

Il n'y a pas de fonctionnalité de classement dans MySQL. Le plus proche que vous puissiez obtenir est d'utiliser une variable :

SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r

alors comment cela fonctionnerait-il dans mon cas? J'aurais besoin de deux variables, une pour chacune de col1 et col2 ? Col2 aurait besoin d'être réinitialisé d'une manière ou d'une autre lorsque col1 a changé... ?

Oui. S'il s'agissait d'Oracle, vous pourriez utiliser la fonction LEAD pour atteindre la valeur suivante. Heureusement, Quassnoi couvre la logique de ce dont vous avez besoin à implémenter dans MySQL .