यह सबसे सुंदर तरीका नहीं हो सकता है, लेकिन आप आसानी से कुछ ऐसा कर सकते हैं:
set @rank = 0;
set @prev = 0;
select id, score, IF (id = @prev, @rank := @rank + 1, @rank := 1), @prev := id
from scores
order by id, score;
मुझे लगता है कि आप अपडेट स्टेटमेंट भी चाहते हैं, और वह होगा:
set @rank = 0;
set @prev = 0;
update scores
set rank = IF(id = @prev, @rank := @rank + 1, @rank := 1),
id = (@prev := id)
order by id, score;