반응형
특정 사용자로부터 순위, 이름 및 점수를 얻기 위한 SQL 쿼리
저는 특정 선수에게 순위, 이름, 점수를 받으려고 노력하고 있습니다.
순위를 표시하기 위해 이 쿼리를 사용했습니다(PHP와 함께 사용합니다).
SELECT count(*) + 1 AS rank
FROM scores
WHERE score > (SELECT score FROM scores WHERE name = '$name');
그리고 이런 식으로 이름과 점수를 얻으려고 노력했습니다.
SELECT name, score, count(*) + 1 AS rank
FROM scores
WHERE score > (SELECT score FROM scores WHERE name = '$name');
하지만 이것은 내 위에 있는 선수의 점수와 이름을 반환합니다.
순위 및 기타 정보를 얻기 위해 다음과 같은 하위 질의를 제안합니다.
select s.*,
(select count(*) + 1
from scores s2
where s2.score > s.score
) as rank
from s
where name = ?;
그?
매개 변수 이름의 자리 표시자입니다.명명된 매개 변수를 사용할 수도 있습니다.
참고: 이것은 관계를 고려하지 않습니다.관심이 있는 경우:
select s.*,
(select count(distinct score)
from scores s2
where s2.score >= s.score
) as rank
from s
where name = ?;
SELECT name,score, @curRank := @curRank + 1 AS rank FROM user p, (SELECT @curRank := 0) r ORDER BY score DESC
같은 점수의 calculation.in 사례에 대해 이 쿼리를 사용하십시오. 순위를 계산하려면 다른 매개 변수를 사용하십시오.
예: ORDER BY score DESC, user_id는 이렇게 설명합니다.
언급URL : https://stackoverflow.com/questions/51441086/sql-query-to-get-rank-name-and-score-from-specific-person
반응형
'programing' 카테고리의 다른 글
이것이 ES6에서 개체를 복제하는 좋은 방법입니까? (0) | 2023.08.17 |
---|---|
로컬 저장소에 개체 저장 (0) | 2023.08.17 |
MariaDB 이미 시스템 버전 테이블 처리 방법 (0) | 2023.08.17 |
PHP의 세트에 대한 내장 지원? (0) | 2023.08.17 |
Laravel에서 만료된 토큰 처리 중 (0) | 2023.08.17 |