mysql返回20%记录

有一个学校的奖学金表 school(classid,studentid,score) 返回每个班级成绩排名前20%的学生全部信息
如  
(1,1,100),
(1,2,99),
(1,3,97),
(1,4,96),
(1,5,94)
(2,1,100),
(2,2,99),
(2,3,97),
(2,4,96),
(2,5,94)

返回(1,1,100),(2,1,100)
不用存储过程,单独mysqlsql语句

作者: hymin911   发布时间: 2011-06-16

返回每个班级成绩排名前20%的学生全部信息:解释一下,前20名?

作者: WWWWA   发布时间: 2011-06-16

select * 
from school s
where (select count(*)*0.2 from school where classid=s.classid)>(select count(*) from school where classid=s.classid and score>s.score)

作者: ACMAIN_CHM   发布时间: 2011-06-16