繁体   English   中英

根据正确答案的数量查询排名

[英]Query ranks based on number of correct answers

我有两张桌子:

  1. QuizInfo
  • 问题编号
  • FirstAnswerID
  • 第二个答案ID
  • 正确答案编号
  1. PlayerAnswers
  • 问题ID
  • 玩家ID
  • PlayerAnswerID

PlayerAnswers记录玩家给出的答案。 玩家可以选择不回答任何给定的问题。 我想根据正确答案的数量给所有玩家一个等级,即 1、2、3。 只有这两个表才有可能吗? 如果是这样,如何?

按id统计正确答案,然后使用rank function

with t as (
    select b.playerid, count('dracula') cnt  
    from QuizInfo a
    inner join PlayerAnswers b
        on a.QuestionID = b.QuestionId
        and a.CorrectAnswerID = b.PlayerAnswerID
)    
select playerid
    , rank() over (order by cnt desc) as rnk
from t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM