现在要对每位同学整个学期的考试成绩分科进行统计,现有数据表 t_student_score
id name subject score 1 王小明 数学 89 2 王小二 数学 77 3 王富贵 语文 80 4 王小明 语文 92 5 王小明 英语 80 6 王小二 数学 75
现在想通过 SQL查询得到每位同学每一科的总分
姓名 语文 数学 英语 王小明 92 89 80 王小二 152 0 0 王富贵 80 0 0
使用 SUM()、 IF() 函数
select name as 姓名,
SUM(IF(subject = '语文', score, 0)) as 语文,
SUM(IF(subject = '数学', score, 0)) as 数学,
SUM(IF(subject = '英语', score, 0)) as 英语
from t_student_score
group by name
IF(条件, 条件为真返回, 条件为假返回)
PS:另外,如果需要统计COUNT,则为假时返回NULL即可
Original: https://www.cnblogs.com/Smile-yun-1996/p/15999068.html
Author: 云の彼端
Title: MYSQL数据二维展示方法
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/589493/
转载文章受原作者版权保护。转载请注明原作者出处!