首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

简易有关问题求一条SQL语句

2012-02-10 
简易问题求一条SQL语句sql server 数据库学生成绩表按班级分组求平均select avg(语文),avg(数学),avg(外语

简易问题求一条SQL语句
sql server 数据库
学生成绩表
按班级分组求平均 select avg(语文),avg(数学),avg(外语) from cjk GROUP by 班级 

现在有些变化,要求只对 各科的 全年级的前100名 按班级分组求平均求平均,如何写SQL?

退一步,如果我已经得到 语文前100名的分数为98 数学97 外语90,是否简单一些



[解决办法]
这个比较复杂,只能一科一科来查,得多个语句,如ms sql中
select avg(语文) from (select top 100 语文,班级 from cjk order by 语文) group by 班级

[解决办法]
Select 班级,avg(A) 语文,avg(B) 数学,avg(C) 外语
From (
select TOP 100 班级,语文 A,0 B,0 C from cjk order by 语文 Desc
union all
select TOP 100 班级,0,数学,0 from cjk order by 数学 Desc
union all
select TOP 100 班级,0,0,外语 from cjk order by 外语 Desc
) x
GROUP by 班级
[解决办法]

SQL code
select avg(语文) from (select top 100 语文,班级 from cjk order by 语文) group by 班级,select avg(数学) from (select top 100 数学,班级 from cjk order by 数学) group by 班级,select avg(外语) from (select top 100 外语,班级 from cjk order by 外语) group by 班级
[解决办法]
select 班级,avg(语文) from (select top 100 语文,班级 from cjk order by 语文 desc) group by 班级 
select 班级,avg(数学) from (select top 100 数学,班级 from cjk order by 数学 desc) group by 班级 
select 班级,avg(外语) from (select top 100 外语,班级 from cjk order by 外语 desc) group by 班级

热点排行