失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > mysql统计不及格科目_SQL语句 统计各个学生的不及格科目数量及不及格率 2条语句...

mysql统计不及格科目_SQL语句 统计各个学生的不及格科目数量及不及格率 2条语句...

时间:2021-05-08 23:54:03

相关推荐

mysql统计不及格科目_SQL语句 统计各个学生的不及格科目数量及不及格率  2条语句...

展开全部

--创建表

createtablestudent

(

姓名nvarchar(20),

数学32313133353236313431303231363533e58685e5aeb931333264663639float,

语文float,

英语float,

体育float,

物理float,

化学float

)

go

--插入语句

insertintostudentvalues('枫',50,60,70,50,60,40)

insertintostudentvalues('巅',60,80,50,58,80,90)

go

--查询

select*fromstudent

go

--不及格科目数量

;withtestas

(

(select姓名,'数学'科目,数学成绩fromstudentwhere数学<60)unionall

(select姓名,'语文'科目,语文成绩fromstudentwhere语文<60)unionall

(select姓名,'英语'科目,英语成绩fromstudentwhere英语<60)unionall

(select姓名,'体育'科目,体育成绩fromstudentwhere体育<60)unionall

(select姓名,'物理'科目,物理成绩fromstudentwhere物理<60)unionall

(select姓名,'化学'科目,化学成绩fromstudentwhere化学<60)

)

select姓名,count(姓名)不及格科目数量fromtestgroupby姓名

--不及格率

;withtestas

(

selectdistinct

(selectcount(姓名)fromstudent)a,

(selectcount(姓名)fromstudentwhere数学<60)b,

(selectcount(姓名)fromstudentwhere语文<60)c,

(selectcount(姓名)fromstudentwhere英语<60)d,

(selectcount(姓名)fromstudentwhere体育<60)e,

(selectcount(姓名)fromstudentwhere物理<60)f,

(selectcount(姓名)fromstudentwhere化学<60)g

fromstudent

)

select

convert(nvarchar(20),cast(basfloat)/a*100)+'%'数学不及格率,

convert(nvarchar(20),cast(casfloat)/a*100)+'%'语文不及格率,

convert(nvarchar(20),cast(dasfloat)/a*100)+'%'英语不及格率,

convert(nvarchar(20),cast(easfloat)/a*100)+'%'体育不及格率,

convert(nvarchar(20),cast(fasfloat)/a*100)+'%'物理不及格率,

convert(nvarchar(20),cast(gasfloat)/a*100)+'%'化学不及格率

fromtest

执行结果如图所示

如果觉得《mysql统计不及格科目_SQL语句 统计各个学生的不及格科目数量及不及格率 2条语句...》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。