我有一个简单的表存储id和学生的分数。我想在单个sql语句中选择学生ID的等级。我在这里发现了几个帖子,但它们涉及参数或临时表,我不想弄乱它们,因为我正在使用hibernate。有人可以引入一个可以完成这项工作的SQL语句吗?
id score
--------------
1 45
2 73
3 94
4 53
答案 0 :(得分:2)
假设您的表名是学生,3是您要查找排名的学生ID,排名从高到低计算:
select count(id) + 1 as rank from student
where score > (select score from student where id = 3)