下面的语句能写成一句完成任务吗?

oXinPingQiHe12 2013-02-02 08:16:44
SELECT "语文", round(sum(iif(语文>=90,1,0))/count(*)*100,2) AS 优秀率, round(sum(iif(语文>=75,1,0))/count(*)*100,2) AS 良好率, round(sum(IIf(语文>=65,1,0))/count(*)*100,2) AS 及格率, round(avg(语文),2) AS 平均分 FROM cj WHERE 班级=1;
union all
SELECT "语文", round(sum(iif(语文>=90,1,0))/count(*)*100,2) AS 优秀率, round(sum(iif(语文>=75,1,0))/count(*)*100,2) AS 良好率, round(sum(IIf(语文>=65,1,0))/count(*)*100,2) AS 及格率, round(avg(语文),2) AS 平均分 FROM cj WHERE 班级=2;
UNION ALL SELECT "语文", round(sum(iif(语文>=90,1,0))/count(*)*100,2) AS 优秀率, round(sum(iif(语文>=75,1,0))/count(*)*100,2) AS 良好率, round(sum(IIf(语文>=65,1,0))/count(*)*100,2) AS 及格率, round(avg(语文),2) AS 平均分 FROM cj WHERE 班级=3;
...全文
211 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
group by 班级 或者 join master..spt_values s on 班级=s.number where type='p'
  • 打赏
  • 举报
回复
oXinPingQiHe12 2013-02-02
问题补充 我是说将班级做一个循环,只用一句就可以得到多个班的数据,上面的语句我要复制多遍后,还要改班级数,不用改班级数,如何实现
  • 打赏
  • 举报
回复
shoppo0505 2013-02-02
这不就是1句么,:)
  • 打赏
  • 举报
回复
相关推荐
发帖
疑难问题
加入

2.1w+

社区成员

MS-SQL Server 疑难问题
申请成为版主
帖子事件
创建了帖子
2013-02-02 08:16
社区公告
暂无公告