Code Bye

怎么样找到每个班级中分数最高的同学?

如题..
本人尝试了半天写不出,特来讨教各位高手…求给个例子
假设有3个班级,每个班级有10个同学,本人需要找到3个同学 ,分别是这3个班级中分数最高的
解决方案:10分
手写代码…
SET @row=0;
SET @mid=\""\"";
SELECT a.分数,a.班级, a.姓名, b.rownum 
FROM test a
INNER JOIN 
(
   SELECT 班级, 姓名, 分数
      CASE WHEN @mid = 班级 THEN @row:=@row+1 
        ELSE @row:=1 END rownum, @mid:=班级 MID
   FROM test
      ORDER BY 班级, 姓名, 分数 DESC
) b 
  ON b.班级=a.班级 AND b.姓名=a.姓名 AND b.分数=a.分数 
WHERE b.rownum=1;
解决方案:10分
参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分….

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎么样找到每个班级中分数最高的同学?