select *,
CASE
when @fontage = sc.score then @rank
when @fontage := sc.score then @rank := @rank + 1
END as rank
FROM (select @fontage:=null,@rank:=0) init,
course, teacher, sc
where
(course.CId=sc.CId
and course.TId=teacher.TId
and teacher.Tname = '李四'
)
ORDER BY
sc.score DESC
https://zhuanlan.zhihu.com/p/32137597
第 34 题,成绩有重复的情况下,查询选修 "李四" 老师所授课程的学生中,成绩最高的学生信息及其成绩
老师就改成“李四”好了
我希望先对 sc.score 降序排序后再执行 CASE END 语句,
但实际运行怎么 ORDER BY sc.score DESC 会是最后执行的?
这不对啊。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.