查询学生各科目的成绩:(统计每个科目的考试成绩)
科目表:
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 姓名;
查询结果: