mysql.help_topic的作用及使用
今天在查询sql写法时突然出现一个没有接触过的表,mysql.help_topic.
网上也没有给出作用及解释,都是一些使用方法,对于不了解的人会容易蒙圈.
经过长时间的查询后写下这篇文章,希望能帮到大家,错误的地方还请指出.
mysql.help_topic本身是mysql的一张信息表,用来存储各种注释等帮助信息.比如
同时它有一个特点,拥有一个自增为1的id属性--help_topic_id 并且 拥有固定数量的数据
这时就可以通过这两个特点做一些表关联操作来达到简单sql无法达到的事情.
比如如下这段
SELECT DATE( DATE_ADD( '2022-05-01', INTERVAL @s DAY ) ) AS date, '异常总条数' as e_name, @s := @s + 1 AS `index`FROM mysql.help_topic, ( SELECT @s := 0 ) temp WHERE @s <= DATEDIFF('2022-05-31','2022-05-01')
查询结果
( SELECT @s := 0 ) temp
原本只有一条记录,和mysql.help_topic关联后就可以展示多条数据.
再举一个例子可以将自定义的字符串转换为列数据
SELECT substring_index( substring_index( a.phone, ',', b.help_topic_id + 1 ), ',', - 1 ) AS phone FROM ( SELECT '15555555555,12222222222' AS phone FROM DUAL ) a INNER JOIN mysql.help_topic b ON b.help_topic_id < ( length( a.phone ) - length( REPLACE ( a.phone, ',', '' )) + 1 )
老规矩本来只有一条记录的a表,关联查询后查询出多条数据,where条件根据分隔符','判断共几条数据,select中查询固定范围字符串,substring_index先从左向右截取到第b.help_topic_id+1个','字符串,再从右向左截取第一个也就是最后一个,由此取出当前应该显示的字符
查询结果
来源地址:https://blog.csdn.net/m0_56371721/article/details/130511686
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341