편집 : 사과, 고든 리노 프는 이미 더 직접적으로 질문에 대답했다. 이것은 내가 응답하는 동안 산만 해지는 것에 대해 얻는 것입니다. :)
당신은 많은 사용자 행이 높은 추천 카운트를하는 방법의 수를 얻을 다음 문제의 이메일에 대한 ReferralCount을 잡아 하위 쿼리를 사용하고 있습니다.
하위 쿼리가 사용자의 ReferralCount를 얻습니다 (예 : [email protected]의 경우 "5") : select ReferralCount from users where Emai[email protected]
.
where 절에서 하위 쿼리로 사용하면 ReferralCount가 더 많은 사용자 수를 계산할 수 있습니다 (순위에 1을 추가해야 함). "1"이상의 사용자가 반환되면 " 2 ") 현재 사용자의 순위로 :
select
(count(*) + 1) as Rank
from
users
where
ReferralCount > (select ReferralCount from users where [email protected])
이 출력됩니다"2 ", [email protected] 이상 만 [email protected]이 있기 때문에 더 많은 추천.
동일한 ReferralCount를 가진 사용자는 건너 뛸 수 있습니다. 예를 들어 3 명의 사용자가 모두 "10"추천을 가지고 있고 쿼리하는 사용자가 "9"이면 위의 쿼리는 9 명의 추천이 10 위에 2 위 밖에 없지만 "4"의 순위를 출력합니다. "2"(2 위)의 순위를 반환한다면 ReferralCount의 고유 카운트를 얻을 수 있습니다.
select
(count(distinct ReferralCount) + 1) as Rank
from
users
where
ReferralCount > (select ReferralCount from users where [email protected])
ReferralCount를 기준으로 내림차순으로 주문하고 수행하십시오. – manian
조회수를 기반으로보기를 만들고 거기에 순위를 지정해야합니다. 일단보기가 캐시에 저장소를 생성하고 거기에서 쿼리를 실행하면 사용자에게 새보기를 다시 만드는 것보다 새로운 업데이트가있는 경우 해당보기가 생성됩니다. – JiteshNK
어떻게 넥타이를 처리 하시겠습니까? [email protected]도 5 추천이었습니다 ... 그들은 모두 2 순위입니까? 1 순위 2 순위입니까? 둘 다 3인가요? – xQbert