mysql中分组之后取每个组的前三个

SELECT * FROM course a WHERE 
3>(SELECT COUNT(*) FROM course WHERE coursename=a.coursename and score>a.score) 
ORDER BY a.coursename,a.score DESC;

意思是取每一条记录,判断同一个班级,大于当前成绩的同学是不是小于2个人。

posted @ 2018-05-30 09:29  bug_hua  阅读(1461)  评论(0编辑  收藏  举报