mysql如何取成绩排名区间

2023-12-12 20:00:11 举报文章

MySQL是广泛应用于数据库管理系统的关系型数据库系统。在数据库中,我们经常需要取出一段成绩排名区间。下面介绍如何使用MySQL查询成绩排名区间。

--by www.qzphp.cn
SELECT * FROM (
  
  SELECT s.id, s.name, s.score, 
  
  CASE 
  
   
   WHEN @cur_score=s.score THEN @cur_rank
  
   
   WHEN @cur_score:=s.score THEN @cur_rank:=@cur_rank+1
  
  END AS rank
  
  FROM score AS s, (SELECT @cur_rank:=0, @cur_score:=NULL) r
  
  ORDER BY s.score DESC
) tmp
WHERE rank BETWEEN 2 AND 5;
 

该查询语句首先将score表中的成绩按降序排列,并使用CASE语句计算排名。将排名的结果保存在rank列中。最后,使用BETWEEN运算符选择rank在2到5之间的行,并返回结果。

如果你认为本文可读性较差,内容错误,或者文章排版错乱,请点击举报文章按钮,我们会立即处理!