文档章节

mysql 列用逗号隔开成多行数据

杭州-IT攻城狮
 杭州-IT攻城狮
发布于 2017/07/24 11:50
字数 252
阅读 157
收藏 0

公司项目需要,用户所属行业,数据库存的是一个用户,多个行业,行业id 用逗号隔开,那么后台重构后,需要多条数据,

多谢网友的帖子指导: http://blog.csdn.net/ldl22847/article/details/47609727

sql如下

select a.USER_ID,substring_index(substring_index(a.ATTENTION_INDUSTRY,',',b.help_topic_id+1),',',-1) industry,1,a.USER_ORDER,NOW(),NOW()
from
(select t.USER_ID ,t.ATTENTION_INDUSTRY ,t.USER_ORDER  
	    		 from lyx_oracle_ucenter.tab_uum_user_detail t  
	    		where t.user_id in 
	    		(select user_id from lyx_oracle_ucenter.tab_uum_users where company_id = 1) 
	    		 and t.ATTENTION_INDUSTRY is not null  
) a
join
mysql.help_topic b
on b.help_topic_id < (length(a.ATTENTION_INDUSTRY) - length(replace(a.ATTENTION_INDUSTRY,',',''))+1)

order by a.USER_ID;

这种方法的缺点在于,我们需要一个拥有连续数列的独立表(这里是incre_table)。并且连续数列的最大值一定要大于符合分割的值的个数。 例如有一行的mSize 有100个逗号分割的值,那么我们的incre_table 就需要有至少100个连续行。 当然,MySQL内部也有现成的连续数列表可用。如mysql.help_topic: help_topic_id 共有504个数值,一般能满足于大部分需求了。

© 著作权归作者所有

杭州-IT攻城狮
粉丝 6
博文 37
码字总数 15554
作品 0
杭州
程序员
私信 提问
自学书籍.MySQL必知必会 - 检索数据

SELECT语句: 1.常用来从一个或是多个表中检索信息,为了使用SELECT检索数据,必须提供两条信息想选择什么以及从什么地方选择 检索单个列: 1.所需的列名在SELECT关键字之后给出,FROM关键字指出从...

满满李
2016/04/16
39
0
Oracle 行转列pivot 、列转行unpivot 的Sql语句总结

转自:http://blog.csdn.net/xiaokui_wingfly/article/details/42419207 多行转字符串 这个比较简单,用||或concat函数可以实现 实际上就是拆分字符串的问题,可以使用 substr、instr、regex...

Amui
2016/06/29
733
0
MySQL ON DUPLICATE KEY UPDATE

原文地址:http://blog.csdn.net/ghsau/article/details/23557915 ON DUPLICATE KEY UPDATE语句 1.如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引...

凡夫俗子_
2015/08/21
0
0
使用sqoop将数据从mysql同步到hbase

--- sqoop 数据同步 hbase --- 使用sqoop将数据从mysql同步到hbase知识点-HBase初体验知识点-愉快地通过Thrift访问HBase知识点-HBaseClient(Java) > 目前机器使用的sqoop版本 > sqoop1.4.6文...

知了小巷
2017/12/16
0
0
MySQL-学习-快速入门

1. 介绍 表头(header): 每一列的名称; 列(col): 具有相同数据类型的数据的集合; 行(row): 每一行用来描述某个人/物的具体信息; 值(value): 行的具体信息, 每个值必须与该列的数据类型相同; 键...

时间之友
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

自建redis笔记

自建redis笔记 最近在linux安装了一下redis,特做一些笔记! 本文先单节点启动redis,然后再进行持久化配置,在次基础上,再分享搭建主从模式的配置以及Sentinel 哨兵模式及集群的搭建 单节点...

北极之北
2分钟前
1
0
vue+element之多表单验证

方法一:利用promise var p1=new Promise(function(resolve, reject) { this.$refs[form1].validate((valid) => { if(valid){ ......

沉迷代码我爱学习
4分钟前
1
0
golang 1.13 errors 包 新函数介绍

引 这次 errors 包算重量级更新。很有更能把以前的一些设计模式给推到。下面聊下用法。 error 装包 以前返回一个错误,想要保存 error 链,还要定义结构体保存以前的 error 信息。感兴趣看下...

guonaihong
13分钟前
12
0
并发编程之线程池

一、线程池 1、什么是线程池 Java中的线程池是运用场景最多的并发框架,几乎所有需要异步或并发执行任务的程序 都可以使用线程池。在开发过程中,合理地使用线程池能够带来3个好处。 第一:降...

codeobj
16分钟前
2
0
知识点总结思维导图模板分享,良心安利,建议收藏

思维导图经常被用在学习中,对大脑思维进行发散,对知识进行记忆。使用思维导图可以让知识更加简单更有层次。下面是利用思维导图所绘制的几款知识点总结思维导图模板,大家可以进行进行参考使...

干货趣分享
19分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部