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

相关推荐

点赞 评论 收藏
分享
06-02 15:17
门头沟学院 Java
心爱的idea:怎么会呢 应该是打招呼有问题 问就说实习6个月全国可飞随时到岗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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