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

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;
...全文
254 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
group by 班级 或者 join master..spt_values s on 班级=s.number where type='p'
oXinPingQiHe12 2013-02-02
  • 打赏
  • 举报
回复
问题补充 我是说将班级做一个循环,只用一句就可以得到多个班的数据,上面的语句我要复制多遍后,还要改班级数,不用改班级数,如何实现
shoppo0505 2013-02-02
  • 打赏
  • 举报
回复
这不就是1句么,:)

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧