binz
mysql GROUP BY无法实现,用的临时变量完成的,经过测试效率极高
-- @rownum 用于计算条数
-- @clazz_id 用于比较的临时班级id(分组列名)
-- 获取每个班级前5名的学生
SELECT * FROM ( SELECT id,
               student_id,
               score, clazz_id ,
@rownum:=IF(@clazz_id=clazz_id,@rownum+1,1) count, @clazz_id := clazz_id FROM student_score ORDER BY score DESC ) temp WHERE count > 5

 

分类:

技术点:

相关文章: