mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
来源:互联网 发布:弯曲正应力实验数据 编辑:程序博客网 时间:2024/05/18 18:03
我的个人理解:mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行),我觉得这都是一个意思
数据库结构如图:
而我想让同一个人的不同成绩变成此人在这一行不同列上显示出来,此时分为2中展现:
第一种展现如图----【多行变一列】(合并后的数据在同一列上):
sql如下:
select 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 ) Chinese FROM stu GROUP BY name-----------------------------------------------------------------------------------------------------可爱的分割线----------------------------------------------------------------------------------------------------
当然,在第一种情况中(显示在一列),也有些其他的类似形式:
形式一:
sql如下:
select name ,group_concat(type,'分数为:',score Separator '; ') as score from stu group by name
呵呵,当然 如果你很熟悉group_concat和concat的用法,你也做出如下形式:
其sql如下:
select name ,concat(name ,'的分数为[',group_concat(type,'分数为:',score Separator '; '),']') as score from stu group by name
1 0
- mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
- oracle行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
- MySQL多行结果合并为一行
- 多行合并为一行
- oracle多行合并一行
- awk 多行合并一行
- mysql:多行查询结果合并成一行
- mysql实现多行查询结果合并成一行
- Oracle多行合并成一行
- SQL查询多行合并成一行
- oracle多行合并成一行
- sql多行合并成一行
- mysql 合并多行为一行
- mysql数据库中怎样实现多行合并为一行?
- 记录oracle 多行合并成一行(备忘)
- SQL实现多行合并一行
- Oracle 多行合并一行 方法
- 一列多行合并一列一行
- 35岁程序员的独家面试经历
- ArcMap 崩溃的自我救赎
- 轻松一刻,游戏风暴大陆笑话助你乐!
- Docker中使用pip2遇到proxy问题的解决(Can't install pip packages inside a docker container)
- Docker中进入bash shell命令
- mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)
- 仿淘宝Demo UI分析
- 如何入数值策划的门
- LeetCode65——Valid Number
- [网络管理]全双工与半双工的区别
- 电子或通信领域当前的主流技术及其社会需求调查报告
- [多浏览器兼容]Javascript获取浏览器语言的缺陷
- 【进阶】Unity资源解决方案之AssetBundle
- git的使用