比如有个需求,要找出班级里每门课分数最高的学生(课程名称,分数,学生姓名),注意这里不是只取最高分,要把课程名称,分数,学生姓名都取出来!
在ORALCE里我们可以用ROW_NUMBER()OVER轻松实现,但是在mysql里就有点麻烦了,不过还是可以做的。
select course,score,name
from
(select
heyf_tmp.course,(select @rownum :=0,@pdept := null ,@rank:=0) a
) a where rank=1
最后我们只用取出RANK=1的部分就可以了