SQL-考試各科目的成績以及各科目的參與考試次數
阿新 • • 發佈:2018-03-12
int nbsp cor .com img group com case select
查詢學生各科目的成績:(統計每個科目的考試成績)
科目表:
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-考試各科目的成績以及各科目的參與考試次數