• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

008、【上海悠悠】sql面试题_2,学生表、成绩表

开发技术 开发技术 4小时前 1次浏览

 

参考资料:

1、https://www.cnblogs.com/yoyoketang/p/10071410.html

 

接着上一篇继续学生表SQL

  • 1.计算每个人的平均成绩, 要求显示字段: 学号,姓名,平均成绩
  • 2.计算每个人的成绩,总分数,平均分,要求显示:学号,姓名,语文,数学,英语,总分,平均分
  • 3.列出各门课程的平均成绩,要求显示字段:课程,平均成绩
  • 4.列出数学成绩的排名, 要求显示字段:学号,姓名,成绩,排名

 

008、【上海悠悠】sql面试题_2,学生表、成绩表

 008、【上海悠悠】sql面试题_2,学生表、成绩表

 

###################### sql面试2 #########################
# 1.计算每个人的平均成绩, 要求显示字段: 学号,姓名,平均成绩
# 2.计算每个人的成绩,总分数,平均分,要求显示:学号,姓名,语文,数学,英语,总分,平均分
# 3.列出各门课程的平均成绩,要求显示字段:课程,平均成绩
# 4.列出数学成绩的排名, 要求显示字段:学号,姓名,成绩,排名


# 1.计算每个人的平均成绩, 要求显示字段: 学号,姓名,平均成绩
select s.id,s.name,avg(g.score)
from student s join grade g on s.id=g.id
group by s.id;


# 2.计算每个人的成绩,总分数,平均分,要求显示:学号,姓名,语文,数学,英语,总分,平均分
# 为什么加sum没搞懂
select s.id, s.name, sum(g.score), avg(g.score),
sum(case when g.kemu='语文' then score else 0 end) as 语文,
sum(case when g.kemu='数学' then score else 0 end) as 数学,
sum(case when g.kemu='英语' then score else 0 end) as 英语
from student s join grade g on s.id=g.id
group by s.id;


# 3.列出各门课程的平均成绩,要求显示字段:课程,平均成绩
select g.kemu, avg(g.score)
from grade g
group by g.kemu;


# 4.列出数学成绩的排名, 要求显示字段:学号,姓名,成绩,排名
# 答案看不懂

 


程序员灯塔
转载请注明原文链接:008、【上海悠悠】sql面试题_2,学生表、成绩表
喜欢 (0)