写一条 SQL 语句:计算某个玩家在排行榜中的名次(示例:player_id=42)。
Write an SQL query to calculate the rank of a specific player (example: player_id=42).
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: hard
分类: sql, ranking
标签: rank, subquery, leaderboard
参考答案摘要
TL;DR 使用嵌套查询统计分数不小于该玩家分数的记录数,作为 rank 计算逻辑。 SELECT _, ( SELECT COUNT(_) FROM leaderboards AS l2 WHERE l2.score >= l1.score ) AS RANK FROM leaderboards AS l1 WHERE l1.player_id = '42';
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。