mysql中行转列与列传行的问题
2024-10-14 09:00:22
行转列:
- 使用cross join 的方式
- 使用case-when的方式
列转行:
SELECT
user_name,
REPLACE (
substring_index(mobile, ',', a.id),
char_length(
substring_index(mobile, ',', a.id - 1)
) + 1
),
',',
''
) AS mobile
FROM
tb_sequence a
CROSS JOIN (
SELECT
user_name,
concat(mobile, ',') AS mobile,
length(mobile) - length(REPLACE(mobile, ',', '')) + 1 size
FROM
user1 b
) b ON a.id <= b.size
以上语句实现的前提是:你需要创建一张tb_sequence序列 表 ,只有一列
CREATE TABLE tb_sequence (
id INT auto_increment NOT NULL,
PRIMARY KEY (id)
)
实现的场景为:左侧的表的内容,装换为右侧
参考说明:慕课网 mysql开发技巧(二)
最新文章
- 【转】FlashBack总结之闪回查询与闪回表
- System memory,AGP memory和video memory【转】
- Asp.Net Mvc Areas 的用法与好处
- Hadoop伪分布式配置:CentOS6.5(64)+JDK1.7+hadoop2.7.2
- crossplatform---bower解决js的依赖管理
- UIActivityIndicatorView添加到UIButton上并响应事件
- LA 6476 Outpost Navigation (DFS+剪枝)
- JS call和apply用法(转)
- 设置cas server使用http非安全协议
- WPF实现无窗体鼠标跟随
- Visual Representation of SQL Joins
- 分析 Oracle SQL 执行计划的关注点
- Java 成员变量和属性的区别
- kafka可视化客户端工具(Kafka Tool)的基本使用
- HTTP请求代码整理
- Maxscale-在第一个节点的配置
- 【LOJ】#2114. 「HNOI2015」菜肴制作
- js命名空间写法
- EF5+MVC4系列(9) Razor视图引擎的核心原理;@符号的使用;输出html的转义
- vs未能正确加载XXX包,编译时停止工作问题