Salve, ho trovato questa query, in più pagine/siti, ma non funziona

MySql:
codice:
select id, id_artist, 
      @rank := if(@current = id_artist, @rank + 1, 1) as rank,
      @current := id_artist as current
from arts order by id_artist
Il valore di "rank" è sempre 1, quindi anche quando incontra un successivo id_artist uguale al corrente non procede con l'incremento di 1.

Qualcuno saprebbe spiegarmi dove sbaglio?
Grazie.