sql 单表操作面试题

一张表有三个字段:学号,科目,成绩

三个问题及答案:

--------------------求每个人的总分
select 学号, sum([成绩]) as 总分 from [dbo].[成绩表] group by 学号

--------------------求每科目的平均分
select [科目], AVG([成绩]) as 平均分 from [dbo].[成绩表] group by [科目]

--------------------求每科目高于平均分的学生信息
select T1.[学号],T1.[科目],T1.[成绩]  from [dbo].[成绩表] T1
inner join (select [科目], AVG([成绩]) as 平均分 from [dbo].[成绩表] group by [科目]) T2 on T2.科目=T1.科目
where T1.成绩>T2.平均分

今日面试题,Mark一下.

 

还遇到一个面试题:
SQL常见面试题(借书卡表_图书表_借书记录表)
https://blog.csdn.net/qq_34306360/article/details/79721593

上一篇:sql server 判断临时表、表、存储过程和函数是否存在


下一篇:mongo 分片