sql >> Base de Datos >  >> RDS >> Mysql

ROW_NUMBER() en MySQL

No hay funcionalidad de clasificación en MySQL. Lo más cercano que puede obtener es usar una variable:

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

Entonces, ¿cómo funcionaría eso en mi caso? ¿Necesitaría dos variables, una para cada col1 y col2? Col2 necesitaría reiniciarse de alguna manera cuando col1 cambió...?

Sí. Si fuera Oracle, podría usar la función LEAD para alcanzar el valor máximo en el siguiente valor. Afortunadamente, Quassnoi cubre la lógica de lo que necesita implementar en MySQL .