SQL面试50题-17

题目链接:https://zhuanlan.zhihu.com/p/43289968
按平均成绩从高到低显示所有学生的所有课程的成绩以及平均成绩(重重点与35一样)

思路:平均成绩说明要用到统计函数 要使用GROUP BY语句
重要:SELECT子句中不可出现GROUP BY 中没有的字段名,除非是用统计函数来表示的新字段

SELECT s_id "学号"
,MAX(CASE WHEN c_id = '01' THEN s_score ELSE NULL END ) "语文"
,MAX(CASE WHEN c_id = '02' THEN s_score ELSE NULL END ) "数学"
,MAX(CASE WHEN c_id = '03' THEN s_score ELSE NULL END ) "英语"
,AVG(s_score) "平均成绩"
FROM Score
GROUP BY s_id
ORDER BY AVG(s_score) DESC;
全部评论

相关推荐

01-29 15:45
已编辑
华中科技大学 前端工程师
COLORSN:可以试一下,小厂看技术栈是不是很落后,如果太拉胯就别去,个人认为有实习氛围比你自己琢磨要高效不少,然后就是小厂其实也有可能会问的很难,这都比较难说,还是看自己项目含金量够不够,寒假还能不能推进学习再选择,毕竟去实习过年就10天假了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务