mysql使用mysql.help_topic表实现一行转多行的实现示例
使用到数据库自带的mysql.help_topic表来属性拆分,help_topic表就是实现行转列功能
SELECT
SUBSTRING_INDEX(
SUBSTRING_INDEX('1,2,3,4,5',',',help_topic_id + 1),',' ,- 1) test
FROM
mysql.help_topic
WHERE
help_topic_id < (LENGTH('1,2,3,4,5')) - LENGTH(REPLACE ('1,2,3,4,5', ',', '')) + 1;

SUBSTRING_INDEX(‘1,2,3,4,5’,‘,’,help_topic_id + 1)作用:
层级输出(‘10,21,13,34,15’)如下所示:

SUBSTRING_INDEX(SUBSTRING_INDEX(‘10,21,13,34,15’,‘,’,help_topic_id + 1),‘,’ ,- 1)作用:
参数-1取最后一个值,示例如下:

(LENGTH(‘10,21,13,34,15’))作用:
计算字符串总长度

LENGTH(REPLACE (‘10,21,13,34,15’, ‘,’, ‘’))作用:
计算去除逗号的长度:

(LENGTH(‘10,21,13,34,15’)) - LENGTH(REPLACE (‘10,21,13,34,15’, ‘,’, ‘’)) + 1作用:
两者相减,计算出逗号分隔的字符串数量
到此这篇关于mysql使用mysql.help_topic表实现一行转多行的实现示例的文章就介绍到这了,更多相关mysql mysql.help_topic表一行转多行内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
mysql ERROR 1044 (42000): Access denied for user ''''@''loca
这篇文章主要介绍了mysql下提示ERROR 1044 (42000): Access denied for user ''@'localhost' to database,需要的朋友可以参考下2015-09-09
MySQL中distinct和count(*)的使用方法比较
这篇文章主要针对MySQL中distinct和count(*)的使用方法比较,对两者之间的使用方法、效率进行了详细分析,感兴趣的小伙伴们可以参考一下2015-11-11
phpMyAdmin下将Excel中的数据导入MySql的图文方法
使用phpMyAdmin将Excel中的数据导入MySql,需要将execl导入到mysql数据库的朋友可以参考下。2010-08-08


最新评论