最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL

来源:懂视网 责编:小采 时间:2020-11-09 19:29:27
文档

MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL

MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL:比如有个需求,要找出班级里每门课分数最高的学生(课程名称,分数,学生姓名),注意这里不是只取最高分,要把课程名称,分数,学生姓名都取出来!在ORALCE里我们可以用ROW_NUMBER()OVER轻松实现,但是在mysql里就有点麻烦了,不过还是可以做的。selec
推荐度:
导读MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL:比如有个需求,要找出班级里每门课分数最高的学生(课程名称,分数,学生姓名),注意这里不是只取最高分,要把课程名称,分数,学生姓名都取出来!在ORALCE里我们可以用ROW_NUMBER()OVER轻松实现,但是在mysql里就有点麻烦了,不过还是可以做的。selec

比如有个需求,要找出班级里每门课分数最高的学生(课程名称,分数,学生姓名),注意这里不是只取最高分,要把课程名称,分数,学生姓名都取出来!

在ORALCE里我们可以用ROW_NUMBER()OVER轻松实现,但是在mysql里就有点麻烦了,不过还是可以做的。

select course,score,name

from

(select

heyf_tmp.course,
heyf_tmp.score,
heyf_tmp.name,
@rownum:=@rownum+1,
if(@pdept=heyf_tmp.course,@rank:=@rank+1,@rank:=1) as rank, -- 分组字段
@pdept:=heyf_tmp.course
from
(select course,name,score
from temp_student_score
order by course,score desc -- 分组字段,排序字段
) heyf_tmp ,

(select @rownum :=0,@pdept := null ,@rank:=0) a

) a where rank=1

最后我们只用取出RANK=1的部分就可以了

文档

MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL

MySQL实现ORALCE的row_number()over(partitionbyxx)功能_MySQL:比如有个需求,要找出班级里每门课分数最高的学生(课程名称,分数,学生姓名),注意这里不是只取最高分,要把课程名称,分数,学生姓名都取出来!在ORALCE里我们可以用ROW_NUMBER()OVER轻松实现,但是在mysql里就有点麻烦了,不过还是可以做的。selec
推荐度:
标签: 实现 的功能 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top