mySql 将一行数据拆分为多条数据原理解析

2023-11-08

先上sql语句

select distinct
  SUBSTRING_INDEX(SUBSTRING_INDEX(a.beam_type,',',b.help_topic_id + 1),',', -1 ) name
from fab_process_tech_test a
  join mysql.help_topic b
    on b.help_topic_id < (LENGTH(a.beam_type) - length(replace(a.beam_type,',','')) + 1);

我需要将fab_process_tech_test .beam_type在输出时根据逗号分割,让一条数据变成多条数据
1、需要确定最终要分割出多少条

LENGTH(a.beam_type) - length(replace(a.beam_type,',','')) + 1
这一段可以判断出该数据最终要变成几条数据,mysql.help_topic 表是一个主键help_topic_id从0开始自增的表(是mysql的一张信息表,用来存储各种注释等帮助信息)。我们需要利用其主键help_topic_id自增的特性,在join on操作之后其输出的数据量就是我们需要拆分出来的数据量。

2、获取到拆分后的字段值

SUBSTRING_INDEX(SUBSTRING_INDEX(a.beam_type,',',b.help_topic_id + 1),',', -1 )
里面的SUBSTRING_INDEX函数用于取从前数第一//三个逗号前面的数据,
外面的SUBSTRING_INDEX函数用于取从后数第一个逗号后面的数据
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mySql 将一行数据拆分为多条数据原理解析 的相关文章

  • 正确显示mySQL一对多查询结果

    我有两张桌子 TRIPS tripID clientID and LEGS legID depart arrive tripID TRIPS 与 LEGS 具有一对多关系 因为有多个legID s per tripID 我需要以以下格式显示
  • MySQL获取最后10条记录中的第一条记录

    在Mysql中 我试图获取最后10条记录中最旧的记录 为了得到最后 10 个我会简单地做SELECT FROM table ORDER BY id DESC LIMIT 10 为了获得最旧的 我只需使用 ASC 顺序 我需要首先按 DESC
  • 为什么 sql 字段名称中不应该包含逗号?

    人们一直告诉我列名中不应包含空格 我只是想知道 这是为什么 这是我为学校创建的一些数据库表遇到的问题 字段名称包括 Preble 和 Darke 相反 它们需要是 普雷布尔县 俄亥俄州 和 达克县 俄亥俄州 如果它们是行名称 我只需创建一个
  • MySQL 错误 1290 (HY000) --secure-file-priv 选项

    我试图在我的脚本中使用以下代码将 MySQL 脚本的结果写入文本文件 SELECT p title p content c name FROM post p LEFT JOIN category c ON p category id c i
  • 基于列顺序的查询速度

    数据库中列类型的顺序对查询时间有影响吗 例如 具有混合排序 INT TEXT VARCHAR INT TEXT 的表的查询速度是否会比具有连续类型 INT INT VARCHAR TEXT TEXT 的表慢 答案是肯定的 这确实很重要 而且
  • ER_ACCESS_DENIED_ERROR:用户 ''@'localhost' 的访问被拒绝(使用密码:NO)

    我有这个问题 我已经研究过但无法解决它 我想它与数据库权限有关 但我无法修复它 if error throw error Error ER ACCESS DENIED ERROR Access denied for user localho
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • 如何在MySQL中查找上周的数据

    我想显示来自 Q1 每个学生只有最后一周 Q2 每个学生只有最后一个月 我怎样才能实现这个目标 一周演示 http sqlfiddle com 2 f1fbb 3 当月演示 http sqlfiddle com 2 f1fbb 4 CREA
  • 是否可以使用“WHERE”子句来选择SQL语句中的所有记录?

    晚上好 我很好奇是否可以在 SQL 语句中创建一个 WHERE 子句来显示所有记录 下面一些解释 随机 SQL 语句 Java JSP示例 正常情况 String SqlStatement SELECT FROM table example
  • 如何使用 PHP 从 MySQL 查询中按升序对值进行排序?

    我使用以下 PHP 脚本从 MySQL 表中获取和更改数据 并将结果打印在 HTML 表中 我希望按升序对数据进行排序 utilization percentage变量 它是由创建的 total client time total avai
  • MySQL 中的断言

    我有一个针对大型数据库运行的 SQL 脚本 我想在开始时提出几个简单的查询 作为健全性检查 有没有办法在MySQL中写断言 或者任何类型的 选择 如果它与该值不匹配 则中止整个脚本 一些疯狂的代码 要点是 SET可能会引发 mysql 变量
  • 执行许多插入重复键更新错误:未使用所有参数

    所以我一直在尝试使用 python 2 7 15 使用 mysql connector 执行此查询 但由于某种原因 它似乎不起作用并且总是返回错误 并非所有参数都被使用 表更新有一个主键 即 ID 这是我尝试运行此 SQL 的查询 sql
  • 在mysql中搜索“SanF”时获取旧金山的记录

    当我搜索 SanF 时获得 San Francisco 记录 SELECT FROM table WHERE col LIKE san Works SELECT FROM table WHERE col LIKE san F Works S
  • MySQL 触发器和 SUM()

    我有两张桌子 学生桌和家庭桌 在学生中 我有列 st venue 和total venue 家里我有收入 Total Revenue 是学生 st 收入与家庭收入之和 其中 family id student student id stud
  • 选择MySql表数据放入数组中

    我尝试从 mysql 捕获数据并将它们全部放入数组中 认为 users table id name code 1 gorge 2132 2 flix ksd02 3 jasmen skaod2 sql mysql query select
  • MySQL“选择更新”行为

    根据 MySql 文档 MySql 支持多粒度锁定 MGL case 1 开放航站楼 1 连接到mysql mysql gt start transaction Query OK 0 rows affected 0 00 sec mysql
  • php 崩溃后 mysql 表被锁定

    我有一个 MySQL DB 和一个 innoDB 表 我有一个 php 页面 用于连接 锁定表 进行一些更新 然后解锁表 PHP 页面通过 wamp 与 apache 一起提供 php页面将文件上传到数据库 我决定通过上传一个大小大于分配给
  • 如何使用 PHP 从 MySQL 检索特定值?

    好吧 我已经厌倦了 过去一周我花了大部分空闲时间试图解决这个问题 我知道 SQL 中的查询已更改 但我无法弄清楚 我能找到的所有其他帖子似乎都已经过时了 如果有人能帮助我 我将非常感激 我想做的就是使用手动输入数据库的唯一 密码 来检索行的
  • 如何解决 MySQL innodb 在 TRUNCATE TABLE 上“等待表元数据锁”?

    在 GitLab CI 服务器中运行包含数百个应用程序单元测试的测试套件 运行 10 次测试后 不知怎的 它总是卡在等待 TRUNCATE TABLE 上的表元数据锁上 这是一个拆卸步骤 我知道SHOW ENGINE INNODB STAT
  • 哪个是识别关系或非识别关系中的子表?

    在表之间的识别和非识别关系的上下文中 MySQL 文档大量将表称为父表和子表 如何判断哪个表是父表 哪个表是子表 子表 A K A 弱实体 http en wikipedia org wiki Weak entity 是一个表 其主键属性d

随机推荐

  • 大数据面试题集

    史上最全大数据面试题 V3 1 特辑 目录 一 数据仓库 1 维表和宽表的考查 主要考察维表的使用及维度退化手法 2 数仓表命名规范 3 拉链表的使用场景 4 数据库和数据仓库有什么区别 5 有什么维表 时间维表 用户维表 产品维表 合同维
  • PHP 三元 !empty 而不是评估为真或假 可用isset()

    是否可以使用速记三元来检查变量是否已设置 而不是是否计算结果为零或非零 例如 我试过 var 0 echo string var string false 2 但由于前两个表达式的计算结果均为 0 或 false 因此显示为 2 我认为也许
  • Netty4 websocket 开启服务端并设置IP和端口号

    一 环境也就是POM文件
  • Python学习(4)证件照底色变换

    Python学习 4 证件照底色变换 前言 一 Python准备 二 Python仿真 三 仿真结果 四 小结 前言 随着人工智能研究的不断兴起 Python的应用也在不断上升 由于Python语言的简洁性 易读性以及可扩展性 特别是在开源
  • Java面向对象三大特性(封装、继承、多态)

    文章目录 前言 一 封装 1 封装的概念 2 private实现封装 3 getter和setter方法 4 封装的好处 二 继承 1 继承的概念 2 extends实现继承 3 super 关键字 Object 4 访问权限 1 priv
  • 蓝桥杯单片机第十四届第三次模拟题

    题目 Main c include
  • [数值计算-12]:什么是函数逼近:插值、拟合、回归

    作者主页 文火冰糖的硅基工坊 https blog csdn net HiWangWenBing 本文网址 https blog csdn net HiWangWenBing article details 119901220 目录 第1章
  • ISO-15118 -1,2,3,4,5,6,8,9,20【最新版】1~20,国际标准分类中,ISO15118涉及到电车、道路车辆装置

    ISO 15118 本专题涉及ISO15118的标准有 国际标准分类中 ISO15118涉及到电车 道路车辆装置 在中国标准分类中 ISO15118涉及到无轨电车牵引供电 交通管理综合 电子 电气设备 公路工程 ISO 15118 20 2
  • 【Java学习笔记】异常处理

    一 异常分类 1 可检查的异常 编译时检查 必须捕捉或声明 可查异常虽然是异常状况 但在一定程度上它的发生是可以预计的 而且一旦发生这种异常状况 就必须采取某种方式进行处理 2 不可检查的异常 编译时不受检查 不需要捕捉或声明 包括erro
  • 主板电源开关接口图解_主板跳线接法示意图,超详细适合DIY新手

    现在DIY自己装机已经很简单了 网上的教程各种各样 也不用专门去电脑城找专业人士来装了 只需要购买好硬件即可 不过 在组装电脑时有一个步骤是很难的 就是主板跳线或者说机箱里面各种线怎么接 下面就给大家说说主板跳线接法 一 开关机跳线和指示灯
  • linux命令总结dd命令详解

    dd 用指定大小的块拷贝一个文件 并在拷贝的同时进行指定的转换 注意 指定数字的地方若以下列字符结尾 则乘以相应的数字 b 512 c 1 k 1024 w 2 参数注释 if 文件名 输入文件名 缺省为标准输入 即指定源文件 lt if
  • Java设计模式-迪米特法则

    迪米特法则 Low Of Demeter 定义 一个对象应该对其他对象保持最少的了解 问题由来 类与类之间的关系越密切 耦合度越大 当一个类发生改变时 对另一个类的影响也越大 解决方案 尽量降低类与类之间的耦合 自从我们接触编程开始 就知道
  • 【LeetCode】—— 二叉树进阶面试题

    一 根据二叉树创建字符串LeetCode606题 1 1 题目描述 空节点则用一对空括号 表示 而且你需要省略所有不影响字符串与原始二叉树之间的一对一映射关系的空括号对 示例 1 输入 二叉树 1 2 3 4 1 2 3 4 输出 1 2
  • 批量插入及数据库事务(三)

    五 批量插入 5 1 批量执行SQL语句 当需要成批插入或者更新记录时 可以采用Java的批量更新机制 这一机制允许多条语句一次性提交给数据库批量处理 通常情况下比单独提交处理更有效率 JDBC的批量处理语句包括下面三个方法 addBatc
  • 算法讲解四之滑动窗口

    文章目录 算法学习篇四 滑动窗口 声明 题目 长度最小的子数组 解法一 解法一思路 解法二 滑动窗口 解法二思路 拓展知识点 1 程序设计中 与 的使用 2 i 与 i的使用区别 说明 算法学习篇四 滑动窗口 声明 本文旨在记录自己学习算法
  • 使用python的selenium自动化登录获取cookie

    要爬取广点通广告平台数据 这平台居然没有提供开发用的API数据接口 登录是QQ登录 很复杂 不好抓取登录接口逻辑 于是就用这个 想录gif的不好录 文档 https www yiibai com selenium selenium webd
  • xgboost特征选择

    Xgboost在各大数据挖掘比赛中是一个大杀器 往往可以取得比其他各种机器学习算法更好的效果 数据预处理 特征工程 调参对Xgboost的效果有着非常重要的影响 这里介绍一下运用xgboost的特征选择 运用xgboost的特征选择可以筛选
  • 微信小程序带参扫码跳转以及测试方法

    前言 最近在做小程序开发时 遇到的一个比较基础性的问题吧 觉得有记录的必要 第一是加深自己的影响 第二也方便跟我一样遇到这种问题的朋友做一个方法参考 参数及跳转页面约定 这里的参数是你与后端沟通好的 约定的要返回的内容 这里因为项目业务需要
  • Grafana初步总结

    1 grafana安装及问题解决 在官网下载安装包 解压后进入bin目录双击 grafana server exe启动服务 服务启动成功默认端口3000 在浏览器输入http localhost 3000 回车进入登录界面 初始账号密码为
  • mySql 将一行数据拆分为多条数据原理解析

    先上sql语句 select distinct SUBSTRING INDEX SUBSTRING INDEX a beam type b help topic id 1 1 name from fab process tech test