저는 각 사용자가 얻고있는 총 투표 수에서 순위를 매기려고하는이 쿼리를 사용합니다. 문제는 투표가 아니라 사용자 ID가 순위를 매기는 것입니다. GROUP BY 때문에 문제가 있지만 하나의 ID가 voted_id
섹션에 여러 번 나타나기 때문에 사용해야합니다.mysql에서 순위 쿼리가 제대로 작동하지 않습니다.
몇 가지 해결책이 있으십니까?
select
a.voted_id,
(select
count(b.state)
from
user_vote as b
where
b.state=1 and b.voted_id=a.voted_id) as votes,
@rank:[email protected]+1 as ranking from user_vote as a,
(select @rank:=0)as rank
where
a.state=1
group by
a.voted_id
order by
votes asc;
그래서 문제는 득표가 voted_id
에 의해 행해진다는 것입니다.
테이블 구조를 게시 할 수 없어 죄송합니다. 나는 충분한 평판을 가지고 있지 않다 – AndreiTiberiu
당신은 텍스트를 통해 그것을 게시 할 수있다. 당신이 테이블 구조없이 무엇을하려고 하는지를 알기가 어렵 기 때문에. –