mysql⾏变列(多⾏变成⼀⾏多⾏合并成⼀⾏多⾏合并成多列
电脑管家怎么卸载合并⾏)
我的个⼈理解:mysql ⾏变列(多⾏变成⼀⾏/多⾏合并成⼀⾏/多⾏合并成多列/合并⾏),我觉得这都是⼀个意思
数据库结构如图:
⽽我想让同⼀个⼈的不同成绩变成此⼈在这⼀⾏不同列上显⽰出来,此时分为2中展现:
柴犬优缺点第⼀种展现如图----【多⾏变⼀列】(合并后的数据在同⼀列上):
sql如下:
lect name ,group_concat(sore Separator ';') as score from stu group by name
第⼆种展现如图----【多⾏变多列】(合并后的数据在不同列上):
sql如下:
企业信息管理
SELECT name ,
MAX(CASE type WHEN '数学' THEN score ELSE 0 END ) math,
MAX(CASE type WHEN '英语' THEN score ELSE 0 END ) English ,
MAX(CASE type WHEN '语⽂' THEN score ELSE 0 END ) Chine
FROM stu
GROUP BY name
-----------------------------------------------------------------------------------------------------可爱的分割线---------------泡泡屋
-------------------------------------------------------------------------------------
乐一米汤怎么熬当然,在第⼀种情况中(显⽰在⼀列),也有些其他的类似形式:
形式⼀:
过敏吃什么药最有效
sql如下:
lect name ,group_concat(type,'分数为:',score Separator '; ') as score from stu group by name
呵呵,当然 如果你很熟悉group_concat和concat的⽤法,你也做出如下形式:
其sql如下:
澳大利亚地形
lect name ,concat(name ,'的分数为[',group_concat(type,'分数为:',score Separator '; '),']') as score from stu group by name