sql一个视图同时获得三个SQL语句查询结果

表如下nameclasschineseenglishyeartimea一(1)班77992008b一(2)班88772008c一(1)班45662008d一(3)班667... 表如下
name class chinese english yeartime
a 一(1)班 77 99 2008
b 一(2)班 88 77 2008
c 一(1)班 45 66 2008
d 一(3)班 66 77 2007
这是一个各年度期考的学生成绩表,制作一个视图,使他能得所有班各年度的及格率,班级的及格率是指当科超过60(含60分)的学生人数除以该班参加考试的总人数.也说是说计算出各年度chinese的及格人数,计算出各年度english的及格人数,计算出各年度班级参加人数,用及格人数除以班级参考人数
视图显示如下
class yeartime chinesenumber englishnumber chinesepass
一(1)班 2008 30(假设及格人数,) 25(假设及格人数,) 0.94
一(2)班 2007 44(假设及格人数,) 43(假设及格人数,) 0.98
englishpass
0.96
0.87
chinesepassy是语文及格率,english是英语的及格率
展开
 我来答
snkm
2008-07-06 · TA获得超过1033个赞
知道小有建树答主
回答量:753
采纳率:0%
帮助的人:574万
展开全部
Create view newview as
select class,yeartime,
sum(case when chinese>=60 then 1 else 0 end)as chinesenumber,
sum(case when english>=60 then 1 else 0 end)as englishnumber,
sum(case when chinese>=60 then 1 else 0 end)*1.00/count(*) as chinesepass,
sum(case when english>=60 then 1 else 0 end)*1.00/count(*) as englishpass
from table1 group by class,yeartime order by class,yeartime

提示:乘以1.00是为了转换类型,否则0.98会显示为0
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式