mysql 行转列用法

现mysql中有一张表user_score表,表结构为:
这里写图片描述

表中数据有:
mysql 行转列用法_第1张图片

现在想查询出来不同学生的语数外成绩在一行显示,那么需要用到行转列的用法,具体语法为:
MAX(case when 条件 then 列内容 else 不匹配时显示内容 end) 列名。具体sql如下:

select user_name,
MAX(case course when '语文' then score else 0 END) 语文,
MAX(case course when '数学' then score else 0 end) 数学,
MAX(case course when '英语' then score else 0 end) 英语
from user_score
group by user_name

查询结果为:
mysql 行转列用法_第2张图片

你可能感兴趣的:(数据库)