Mysql
 sql >> Database >  >> RDS >> Mysql

ROW_NUMBER() in MySQL

Non esiste alcuna funzionalità di classificazione in MySQL. Il più vicino che puoi ottenere è usare una variabile:

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

quindi come funzionerebbe nel mio caso? Avrei bisogno di due variabili, una per ciascuno di col1 e col2? Col2 avrebbe bisogno di essere ripristinato in qualche modo quando col1 è cambiato..?

Sì. Se fosse Oracle, potresti usare la funzione LEAD per raggiungere il picco al valore successivo. Per fortuna, Quassnoi copre la logica per ciò di cui hai bisogno da implementare in MySQL .