您的位置:首页 > 数据库 > MySQL

mysql 行转列

2015-11-03 16:02 399 查看
常用的行转列统计 成绩

数据库表结构

select userNames,

max(IF(subject = '语文',score,0)) as 'chinese',

max(IF(subject = '数学',score,0)) as 'math',

max(IF(subject = '英语',score,0)) as 'english',

sum(score) as'total'

from tb_testuser

group by userNames

或者这样也行:

select userNames,

MAX(CASE subject WHEN '语文' THEN score ELSE 0 END ) 'chinese',

MAX(CASE subject WHEN '数学' THEN score ELSE 0 END ) as 'math',

MAX(CASE subject WHEN '英语' THEN score ELSE 0 END ) as 'english',

sum(score) as'total'

from tb_testuser

group by userNames

查询结果
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: