This any good? Little hard to see where you're at without the DDL & some sample data...
select voted_id,
votes,
@rank:=@rank + 1 as rank
from
(
select voted_id,count(*) as votes
from user_vote
where state=1
group by voted_id
order by votes desc
) t
join (select @rank:=0) r;