는 :
select count(1) as count from users where score>=$user_score
이것은 당신에게 사람의 순위를 제공해야합니다. 현재 사용자와 동일한 점수를 가진 사람이 여러 명일 경우 >=
을 >
으로 변경하면 결과에 1을 더할 수 있습니다. 옵션 2와 3
:
select * from users where score>$user_score order by score asc limit 2
select * from users where score<$user_score order by score desc limit 2
아니면 모두 5 얻을 수 (전 2,이 후 현재 사용자) 하나 개의 질의에 처음부터 순위를 일단 검색어 :
$start = $user_rank - 2;
$query = "select * from users order by score asc limit {$start},5";
현재 사용자 또는 현재 사용자와 동일한 점수를 가진 사람이 포함되지 않게하려면 이것을 할 수 있습니다 :
$start = $user_rank - 2;
$query = "select * from users where score!=$user_score order by score asc limit {$start},4";
감사합니다.이 친구는 큰 도움이되었습니다. – housamz