저는 사용자가 자신의 활동 (질문, 답변 등)을 기반으로 보너스를주는 기본 카르마/담당자 시스템을 보유하고 있습니다. 포인트에 따라 사용자 등급 (제목)을 갖고 싶습니다. 각기 다른 계급에는 서로 다른 한계와 권한이 있습니다. 아래의 사용자, 즉,동적 사용자 순위
내가 낮은 및 상한을 가질 필요가 있는지 확실하지 않습니다 테이블
id rankname points questions_per_day
1 beginner 150 10
2 advanced 300 30
을 위하지만, 간단하게하기 위해 나는 단지 최대 포인트 제한을 떠났다 150은 '초급'이고 300 이하이거나 '고급'입니다.
예를 들어, 157 점이있는 Bob은 사용자 이름으로 '고급'태그를 표시합니다.
사용자의 순위/제목을 어떻게 결정하고 표시 할 수 있습니까? 각 행을 반복하고 값을 비교합니까?
이렇게 계산 된 순위가있는 수천 명의 사용자에게이 문제를 적용하면 어떤 문제가 발생할 수 있습니까? 확실히 그것은 사용자의 순위가 요청 될 때마다 질의하고 반복하는 시스템에 과세 할 것인가?
그건 내가 요구 한 것이 아닙니다. 이 방법으로 이미 사용자 점수를 관리합니다. 테이블에 따라 순위/제목을 결정해야합니다. –
그러면, 질문의 두 번째 부분에 답하기 위해'score'를'rank'로 대체하십시오. 추가는 1 초 후에 올릴 것입니다. – GolezTrol
점수를 기반으로 순위 ID를 계산하는 쿼리가 추가되었습니다. 이 실시간을 사용하거나 원하는대로 사용자 테이블에서 캐시 할 수 있습니다. 이 ID를 사용하여 사용자 페이지에 표시 할 올바른 순위 이름을 얻을 수 있습니다. 이 쿼리를 실시간으로 사용하면 (아마 수천 명의 사용자가없는 한 잘 수행 할 것입니다.)'r.id'를'r.rankname'으로 바로 바꾸는 것이 좋습니다. 두 번째 쿼리를 실행해야합니다. – GolezTrol