mysql拆分字符串分组问题

如下图表tableimage.png

请问怎么通过mysql语句实现以下结果image.png

仅在帆软数据集实现,不是写存储过程这样!

luozhiwei 发布于 2020-12-9 17:35 (编辑于 2020-12-9 18:03)
1min目标场景问卷 立即参与
回答问题
悬赏:5 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共3回答
最佳回答
0
luojian0323Lv7资深互助
发布于2020-12-9 17:37(编辑于 2020-12-9 18:22)
sql语句
select a.house_no as '房子',substring_index(substring_index(a.name,',',b.help_topic_id+1),',',-1) as '拥有者' 
from  aa a  --aa是一个表,换成你的
join   mysql.help_topic b on b.help_topic_id < (length(a.name) - length(replace(a.name,',',''))+1);
 
关键点
mysql.help_topic b on b.help_topic_id < (length(a.name) - length(replace(a.name,',',''))+1)

name格式:张三,李四,王五


  • luozhiwei luozhiwei(提问者) ???这是啥啊大佬
    2020-12-09 18:01 
  • luojian0323 luojian0323 回复 luozhiwei(提问者) 拿 这个代码测试,把字段换成一个字符串:张三,李四,王五 然后,mysql 空表,可以不用 from 表名 直接 select
    2020-12-09 18:23 
  • luozhiwei luozhiwei(提问者) mysql.help_topic是啥表啊,我这只是一张表
    2020-12-09 18:54 
  • luojian0323 luojian0323 回复 luozhiwei(提问者) 这是数据库里自带的表 http://www.bubuko.com/infodetail-3139456.html
    2020-12-10 08:07 
最佳回答
0
AmyQLv6初级互助
发布于2020-12-10 09:49(编辑于 2020-12-10 09:51)

试一试:

select t1,substring_index(substring_index(t2,',',B.id),',',-1) t2,t3 

  from table A 

  inner join (select 1 id union all select 2 id union all select 3 id) B 

WHERE  B.id <= (length(A.t2) - length(replace(A.t2,',',''))+1)


image.png

最佳回答
0
shirokoLv6资深互助
发布于2020-12-10 10:08(编辑于 2020-12-10 10:08)
--
  • 4关注人数
  • 523浏览人数
  • 最后回答于:2020-12-10 10:08
    请选择关闭问题的原因
    确定 取消
    返回顶部