Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

ROW_NUMBER() no MySQL


Não há funcionalidade de classificação no MySQL. O mais próximo que você pode obter é usar uma variável:
SELECT t.*, 
       @rownum := @rownum + 1 AS rank
  FROM YOUR_TABLE t, 
       (SELECT @rownum := 0) r

então como isso funcionaria no meu caso? Eu precisaria de duas variáveis, uma para cada col1 e col2? Col2 precisaria ser redefinido de alguma forma quando col1 mudasse ..?

Sim. Se fosse Oracle, você poderia usar a função LEAD para atingir o pico no próximo valor. Felizmente, o Quassnoi abrange a lógica para o que você precisa para implementar no MySQL .