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;
全部评论

相关推荐

09-19 13:59
门头沟学院 Java
用微笑面对困难:Trae一下,如果真成了,他用了直接发字节起诉代码版权,,这个代码不商用是没问题的如果没成也是情理之中的。
点赞 评论 收藏
分享
11-03 14:57
西北大学 营销
Belltrix:其实就是每根转动一定的角度
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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