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 .