MYSQL数据二维展示方法

现在要对每位同学整个学期的考试成绩分科进行统计,现有数据表 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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球