学生多科目成绩统计分析
⑴ 怎样统计SQL数据库里面每一个学生的各科成绩的总分
。。有哪些表,哪些字段啊
select 学号,课1+课2+课3+课4+课5 as 总成绩 from 成绩表
这种一张表的?
⑵ 用EXCEL统计同一学生同一科目不同时期的成绩
选学号列的随便一个单元格,按Alt+D+S 确定
OK,这下你再看一下这个表,会有你想要的东西的.
⑶ SQL语句 统计各个学生的不及格科目数量及不及格率 ,2条语句
--创建表
createtablestudent
(
姓名nvarchar(20),
数学,
语文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
执行结果如图所示
⑷ 按照科目统计所有班级某一科目所有学生的总成绩的SQL查询语言
selectcourseas'成绩总和',
sum(casewhena='jsd1701'thenscoreelse0end)as'jsd1701',
sum(casewhena='jsd1702'thenscoreelse0end)as'jsd1702'
...
from表格内名容groupbycourse;
⑸ excel:我让一个学生统计成绩,结果他把每个人所有科目成绩打到一格去了,可以把所有的都分开吗
选择单元格,点击菜单---数据---分列
对话框中选择"分隔符号",下一步
选择"空格"
完成
或加510809100远程协助你
⑹ 按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句
按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句示例如下:
selectA.name ,
(selectB.scorefromtable_scoreBwhereB.type='数学'andA.id=B.id) as数学 ,
(selectB.scorefromtable_scoreBwhereB.type='语文'andA.id=B.id) as语文,
(selectB.scorefromtable_scoreBwhereB.type='英语'andA.id=B.id)as英语,
(selectSUM(B.score)fromtable_scoreBwhereA.id=B.id)assum_score
fromtable_studentAorderbysum_scoreDESC
以上sql语句首先把学生表和成绩表联合查出每个学生的数学、语文、英语成绩,然后通过selectSUM(B.score)fromtable_scoreBwhereA.id=B.id查出每个学生的总成绩。
最后orderbysum_scoreDESC实现按总成绩倒叙排列。
(6)学生多科目成绩统计分析扩展阅读
上述sql语句重点是对as关键字的使用- Alias(别名),通过使用 SQL,可以为列名称和表名称指定别名(Alias)。
表的 SQL Alias 语法
SELECT column_name(s) FROM table_name AS alias_name;
列的 SQL Alias 语法
SELECT column_name AS alias_name FROM table_name;
Alias 实例: 使用表名称别名
假设我们有两个表分别是:"Persons" 和 "Proct_Orders"。我们分别为它们指定别名 "p" 和 "po"。
现在,我们希望列出 "John Adams" 的所有定单。
我们可以使用下面的 SELECT 语句:
SELECT po.OrderID, p.LastName, p.FirstName FROM Persons AS p, Proct_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'
⑺ excel根据学生各科成绩统计每个学生总分
1、打开EXCEL文件,输入每个学生的分数。
⑻ 用excel怎样统计不同班级学生各科成绩总
可选用以下统计方法:
1、用sumproct函数:
如,统计六年级三班的90分以上的人数(其中A列为年级,B列班级,C列为成绩),公式:=sumproct((a1:a100="六年级")*(b1:b100=“三班",c1:c100>=90))
2、用countifs函数:
如上例的公式为:=countifs(a1:a100,"六年级",b1:b100,"三班",c1:c100,">=90")
⑼ 一张学生信息表student(学号stuid,科目subject,分数score),统计下:每个科目成绩>=60的学生的平均成绩
select subject ,avg(score) from student where stuid not in (select distinct stuid from student where score < 60) group by subject;
⑽ 按照科目统计所有班级某一科目所有学生的总成绩的SQL查询语言
selectclass,course,sum(score)asTotal
fromtable
groupbyclass,course