SQL-考试各科目的成绩以及各科目的参与考试次数

Posted miss3316

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL-考试各科目的成绩以及各科目的参与考试次数相关的知识,希望对你有一定的参考价值。

 

查询学生各科目的成绩:(统计每个科目的考试成绩)

科目表:

ID: int 主键自增

course:varchar   len:20

技术分享图片

成绩表:

ID  int 主键自增

NAME:varchar   len:20

SCORE int

COURSE_ID int 外键关联科目表的ID

技术分享图片

其中外键关联 科目表的ID 与成绩表的COURSE_ID;

sql如下

SELECT t_score.NAME 姓名 ,
SUM(CASE t_course.course WHEN 数学 THEN t_score.SCORE ELSE 0 END) AS 数学,
SUM(CASE t_course.course WHEN 语文 THEN t_score.SCORE ELSE 0 END) AS 语文
FROM t_course,t_score
WHERE t_score.COURSE_ID=t_course.ID
GROUP BY 姓名;

查询结果:

技术分享图片

 

查询学生各科目考试次数:(统计每个科目考试的次数)

成绩表多了几条数据:如下

字段定义如上

技术分享图片

查询Sql如下:

SELECT t_score.NAME 姓名 ,
COUNT(CASE t_course.course WHEN 语文 THEN t_score.SCORE ELSE NULL END) AS 语文,
COUNT(CASE t_course.course WHEN 数学 THEN t_score.SCORE ELSE NULL END) AS 数学
FROM t_course,t_score
WHERE t_score.COURSE_ID=t_course.ID
GROUP BY 姓名;

查询结果:

技术分享图片

 

以上是关于SQL-考试各科目的成绩以及各科目的参与考试次数的主要内容,如果未能解决你的问题,请参考以下文章

团队-及格成绩查询系统-需求分析

按照人名查出学生的各科成绩以及总成绩并按总成绩排名的sql语句

Sql取出各科分数前三名的学生,Sql各科成绩前三的学生

2017年软考各科最新真题详细解析资料集锦

(最新)2017年下半年软考各科历年真题及答案解析

学生个人考试成绩分析怎么写