note
1. 创建测试表及数据
1 |
|
1 |
|
两张表内容如下:
tb_user
tb_sword
2. 数据拆分及合并
需求: 使用一条SQL获得tb_user表中每个人持有的剑名(剑名用“|”分隔),即得到如下结果
拆解需求:
1) 先将tb_user表中的c_no按逗号拆分
2)将拆分后c_no中的各个id与tb_sword中的id关联,获取剑名
- 最后将每一个user对应的剑名合并成一个字段
分段SQL如下:
步骤1:
每一个user的c_no按逗号拆分为对应的c_id,此方法需借助于mysql.help_topic表
1 |
|
结果如下:
步骤2:关联获取每个id对应的剑名
1 |
|
结果如下
步骤3:
将每个人的剑名合并为1个字段显示,并用”|” 符合合并
1 |
|
结果如下:
实现需求
往期精彩回顾
2. mysql8.0新增用户及加密规则修改的那些事
3. 比hive快10倍的大数据查询利器– presto
4. 监控利器出鞘:Prometheus+Grafana监控MySQL、Redis数据库
PostgreSQL主从复制–物理复制
MySQL传统点位复制在线转为GTID模式复制