码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2018-03-12 18:34:48      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:成绩   bubuko   技术   sql   数学   成绩表   name   font   次数   

 

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

科目表:

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-考试各科目的成绩以及各科目的参与考试次数

标签:成绩   bubuko   技术   sql   数学   成绩表   name   font   次数   

原文地址:https://www.cnblogs.com/miss3316/p/8550172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!