【发布时间】:2014-09-30 17:33:19
【问题描述】:
以什么可能的方式/方法使用 sql 查询来获得这种结果。
评委对每位参赛者打分排名,对决赛选手进行排序显示最终排名。
这个@Prince Jea 给出了一个解决方案,但它不是我所期待的实际结果,尽管它是正确的。不过,我正在寻找所需的输出。
SQL 查询
SELECT ContestantID,JudgeID,ScorePoints,
RANK() OVER (ORDER BY ScorePoints DESC) AS xRank,
DENSE_RANK() OVER (ORDER BY ScorePoints DESC) AS fRank
FROM
(
SELECT ContestantID , ScorePoints, JudgeID
FROM Score
) AS a
ORDER BY 1
结果
我更喜欢 SQL Fiddle 上的一些材料 http://www.sqlfiddle.com/#!6/30d03/2
【问题讨论】:
-
您是否需要针对 3 名法官的查询,或者该查询是否需要能够处理动态的法官人数?
-
法官先生的动态数量。但如果什么是最好的,那就不要了。
标签: sql dense-rank