当前位置:首页 » 编程语言 » sql每学期每门课及格率
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql每学期每门课及格率

发布时间: 2023-02-21 07:49:21

A. 一条sql语句查询出三年级所有老师所带学生的及格率 :老师名称 老师所带学生数目 及格学生数目

select C_TEACH_NAME,(select count(*) as count0 from c,e,f where c.C_TEACH_CODE=e. C_TEACH_CODE and e.C_CLASS_CODE=f.C_CLASS_CODE group by C_TEACH_NAME),(select count(*) as count1,round(count1/count0,2) from c,e,f,g where c.C_TEACH_CODE=e. C_TEACH_CODE and e.C_CLASS_CODE=f.C_CLASS_CODE and f.C_STUDENT_CODE=g.C_STUDENT_CODE and N_STUDENT_SCORE>=60 group by C_TEACH_NAME) from c group by C_TEACH_NAME;

B. 一张学生成绩表内SQL查询每个班级每门课程的平均分

平均分:
select avg(分数) from a group by 班级,课程
及格率:
select (select count(*) from a where 分数>60 group by 班级,课程)
/(select count(*) from a group by 班级,课程)

C. 写一句sql 求科目数及格率 百分比显示

SELECTco,SUM(CASEWHENsco>=60THEN1ELSE0END)/(COUNT(*)*1.0)AS及格率
FROMXXX
GROUPBYco;
SELECTco,CAST(FLOOR(SUM(CASEWHENsco>=60THEN1ELSE0END)/(COUNT(*)*1.0)*100)ASVARCHAR)+'%'AS及格率
FROMXXX
GROUPBYco;

D. SQL语句求助,查询出每门课程及格和不及格的人数

select a.score ,count as 人数 ,col2 as 科目 from
(select case when col1>=60 then '及格' else '不及格' end as score ,col2 from tb g )
a group by a.score,a.col2

E. sql select语句求及格率(带百分号)

select cast( cast ( ( select count(1) as jige from 表 where 课程名称 = 'C语言' and 分数 >= 60 ) as numeric(10,4) ) / cast ( ( select count(1) as jige from 表 where 课程名称 = 'C语言' ) as numeric(10,4) ) * 100 as varchar(20) ) + '%'

F. SQL语句求助,查询出每门课程及格和不及格的人数

---以下在SQL2005执行通过--
---结果将以 科目、及格数、不及格数 显示
select * from
(select col2,count(*) as [及格数]
from tb
where col1>=60
group by col2
)t
outer apply
(select count(*) as [不及格数]
from tb
where col1<60 and t.col2= col2
group by col2
)m

-----这应该是楼主想要的了吧。

G. 求各班各科及格率的sql语句

select 班级,课程,count(*)/40 as 及格率 from 表名 where 成绩>60 group by 班级,课程

H. SQL 查询某门课程及格的总人数以及不及格的总人数以及没成绩的人数

你的要求有点特别,要求
学号!
如果只是
统计每门课程的不及格人数下面的sql就可以啦:
select
cnum,count(cnum)
as
不及格人数
from
sc
where
score
<
60
group
by
cnum
注意:是对课程号分组哟,楼上的是错的。
如果你要输出学号:
select
sc.snum
as
学号,
a.cnum
as
课程号,
a.不及格人数
from
sc,
(select
cnum,count(cnum)
as
不及格人数
from
sc
where
score
<
60
group
by
cnum)
as
a
where
sc.score<60
and
sc.cnum=a.cnum
以上我相信是没有问题的,你测试一下!
如果ok,给分哟
呵呵