通过将 aa 表中列 iplist 中值拆分成 行显示
sql语句
SELECT a.rolename,SUBSTRING_INDEX(SUBSTRING_INDEX(a.iplist,',',b.id),',',-1) AS IP
FROM
aa a
JOIN
bb b
ON b.id < (LENGTH(a.iplist) - LENGTH(REPLACE(a.iplist,',',''))+2)
rolename: 列名 ,iplist:列名 例:10.110.0.90, 10.110.0.91, 10.110.0.92,10.110.0.96
aa:需要拆解的表 bb:可以是任何一张表,只要该表中id是自增id 例:1、2、3、4、5、7、8。。。。。
SUBSTRING_INDEX :mysql的函数
注意:
1.此sql语句是个模板,只要将您实际中需要的值替换就可以
2. bb表也可是使用 mysql.help_topic 此表代替,我这儿使用 任意一张表主要是因为实际工作中生产环境下没有最高权限,无法使用 mysql.help_topic表,所以我使用了该账户下面的任意一张带自增ID的表。
3. 任意一张自增ID表中的值长度必须大于aa表中iplist列中被分割的字符串的长度,以免查询出错!!