求一条SQL语句:能一次计算出各科前10名学生的平均成绩。
数据表如下图所示:能不能用一条语句一次计算出各科前10名学生的平均成绩呢?是各科,不是总分的前10哦。...
数据表如下图所示:
能不能用一条语句一次计算出各科前10名学生的平均成绩呢?是各科,不是总分的前10哦。 展开
能不能用一条语句一次计算出各科前10名学生的平均成绩呢?是各科,不是总分的前10哦。 展开
3个回答
展开全部
select '语文' as 科目, avg(语文) as 平均成绩 from
(select top 10 语文 from 成绩表 order by 语文 desc) as x
union all
select '数学' as 科目, avg(数学) as 平均成绩 from
(select top 10 数学 from 成绩表 order by 数学 desc) as y
union all
select '英语' as 科目, avg(英语) as 平均成绩 from
(select top 10 英语 from 成绩表 order by 英语 desc) as z
如果还有其它科目,可以用同样的方式往后加。
(select top 10 语文 from 成绩表 order by 语文 desc) as x
union all
select '数学' as 科目, avg(数学) as 平均成绩 from
(select top 10 数学 from 成绩表 order by 数学 desc) as y
union all
select '英语' as 科目, avg(英语) as 平均成绩 from
(select top 10 英语 from 成绩表 order by 英语 desc) as z
如果还有其它科目,可以用同样的方式往后加。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询