mysql一行逗号分割的数据分解为多行

2023-11-13

在 MySQL 中,你可以使用函数 REPLACESUBSTRING_INDEX 来将一行逗号分隔的数据分解为多行。

例如,假设你有一个表,其中包含一列 items,该列包含逗号分隔的字符串,如下所示:

+----+---------------------+
| id | items               |
+----+---------------------+
| 1  | item1,item2,item3  |
| 2  | item4,item5        |
| 3  | item6              |
+----+---------------------+

你可以使用以下查询来将该表中的每一行数据分解为多行:

SELECT id,
       SUBSTRING_INDEX(SUBSTRING_INDEX(items, ',', n), ',', -1) AS item
FROM my_table,
     (SELECT @rownum := @rownum + 1 AS n
      FROM (SELECT @rownum := 0) r,
           my_table) x
WHERE n <= (LENGTH(items) - LENGTH(REPLACE(items, ',', '')) + 1);

该查询会返回如下所示的结果:

+----+-------+
| id | item  |
+----+-------+
| 1  | item1 |
| 1  | item2 |
| 1  | item3 |
| 2  | item4 |
| 2  | item5 |
| 3  | item6 |
+----+-------+

你也可以将该查询结果插入到另一个表中,以便将分解后的数据保存到数据库中。

希望这能帮助你!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql一行逗号分割的数据分解为多行 的相关文章

  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • “修改列”与“更改列”

    我知道 我们不能使用重命名列MODIFY COLUMN语法 但我们可以使用CHANGE COLUMN syntax 我的问题是 主要用途是什么modify syntax 例如 ALATER TABLE tablename CHANGE co
  • MySQL“列计数与第 1 行的值计数不匹配”是什么意思

    这是我收到的消息 ER WRONG VALUE COUNT ON ROW 列计数与第 1 行的值计数不匹配 这是我的全部代码 我的错误在哪里 DROP TABLE student CREATE TABLE employee emp id I
  • MySQL:如何仅获取正值的平均值?

    假设我有 INT 列 并且我使用 1 来表示插入时没有可用数据 我想获得该列中所有 0 或更大值的平均值 这可能吗 Thanks 我忘了提及 我正在与其他 AVG 一起执行此操作 因此从选项卡中选择 avg a avg b avg d 所以
  • SQL Server 中的 FIFO 查询

    我正在构建一个库存管理应用程序c with SQL server 我想做一个FIFO从我的表查询 我以可变价格购买了相同的产品 之后我卖掉了其中一些 我想根据 先进先出 进行查询BatchDate柱子 所以我想通过PurchasePrice
  • 是否可以从子查询中获取多个值?

    有没有办法让子查询在oracle db中返回多列 我知道这个特定的sql会导致错误 但它很好地总结了我想要的 select a x select b y b z from b where b v a v from a 我想要这样的结果 a
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 在mysql连接字符串中添加应用程序名称/程序名称[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在寻找一种解决方案 在连接字符串中添加应用程序名称或程序名称 以便它在 MySQL Workbench 中的 客户端连接 下可见 SQL
  • MySQL 概念:会话与连接

    我对 MySQL 的概念有点困惑 会话与连接 当谈论连接到 MySQL 时 我们使用连接术语 连接池等 然而在 MySQL 在线文档中 http dev mysql com doc refman 4 1 en server system v
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • mysql 如何将 varchar(10) 转换为 TIMESTAMP?

    我已将所有日期存储到数据库中varchar 10 现在我想将它们转换为 TIMESTAMP 当我运行sql时 ALTER TABLE demo3 CHANGE date date TIMESTAMP NOT NULL 它提醒 1292 In
  • 如何使用 SQL Server 2008 执行多个 CASE WHEN 条件?

    我想做的是对同一列使用多个 CASE WHEN 条件 这是我的查询代码 SELECT Url p ArtNo p Description p Specification CASE WHEN 1 1 or 1 1 THEN 1 ELSE 0
  • 如何将今天的日期返回到 Oracle 中的变量

    我想做这个 DECLARE today as smalldatetime SELECT today GetDate 但我需要一个oracle翻译 甲骨文使用SYSDATE 还有 ANSI 标准CURRENT TIMESTAMP 除其他外 S
  • CakePHP 查找 - 按字符串到整数排序?

    我想使用 CakePHP 从数据库中提取照片数组 按照片标题排序 0 1 2 3 我的查询当前看起来像 ss photos this gt Asset gt find all array conditions gt array kind g
  • Google Cloud SQL 上的故障转移如何运作?

    我打算将 PHP 应用程序 从 Google Cloud Platform 外部的服务器 连接到 Google Cloud SQL 我想知道如何设计应用程序以正确地对其数据库进行故障转移 根据manual https cloud googl
  • SKIP加锁和nowait的区别

    pl sql 中 SKIP 锁定游标和 nowait 游标之间的区别 我认为我找到的这张图片是描述差异的最佳例子 详细说明 http viralpatel net blogs oracle skip locked
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • Oracle SQL PLS-00049:错误的绑定变量

    我收到此错误 这似乎是列拼写问题 然而 我 99 确信我拼写的所有内容都是正确的 但我看不出有任何理由会出现我所犯的错误 这是来源 CREATE OR REPLACE TRIGGER update qoh trigger AFTER INS
  • SQL Server:如果存在会大大减慢查询速度

    正在使用SQL Server 2012 我找到了一些关于查询优化的主题 并将 EXISTS 与 COUNT 进行比较 但我找不到这个确切的问题 我有一个看起来像这样的查询 select from tblAccount as acc join
  • phpActiveRecord 日期时间格式不正确

    当尝试使用 phpActiveRecord 在表中创建记录时 出现以下错误 Invalid datetime format 1292 Incorrect datetime value 2013 06 20 11 59 08 PDT for

随机推荐

  • 关于串口通信协议的解析,该怎么解决

    关于串口通信协议的解析 该怎么解决 串口通信协议 由于本系统采用非规范式输入 导致一帧数据可能分成几次接收 为了能够判断一帧数据是否接收完整 本系统制定了一套特殊的串口通信协议 如附图所示 附图 通信协议定义 在本系统的串口通信协议中 一帧
  • sql sever2008 R2 检测到索引可能已损坏。请运行 DBCC CHECKDB。

    1 设置成单用户状态 USE MASTER ALTER DATABASE DBNAME SET SINGLE USER GO DBNAME为修复的数据库名 2 执行修复语句 检查和修复数据库及索引 dbcc checkdb DBNAME R
  • 【pip】彻底解决 module ‘tensorflow‘ has no attribute ‘random_normal‘

    翻译 tensorflow显示没有random normal模块 解决 将代码中的 tf random normal 用tf random normal代替 区分 与
  • [leetcode]python3 算法攻略-回文链表

    请判断一个链表是否为回文链表 方案一 指针法 class Solution def isPalindrome self head 判断一个链表是否是回文的 很自然的想法就是两个指针 一个指针从前往后走 一个指针从后往前走 判断元素值是否相同
  • mysql读写分离与监控的使用(proxysql)

    os rhel 7 3 mysql 5 7 proxysql 1 4 15 1 ip 规划如下 172 25 11 1 node1 proxysql 172 25 11 2 node2 mysql master 172 25 11 3 no
  • 对于解决Visual Studio中scanf函数报错的原因及解决方法

    对于C语言初学者 可能会用到devC 或者是visual studio软件 我本人是比较推荐visual studio软件的 毕竟这个软件使用起来功能比devc 软件功能更多 而初学者在使用visual studio软件时会发现在使用初始的
  • Unity-委托2种常用使用场景总结

    委托使用场景1 调用委托 可以分发多个方法出去 举例 定义多个通知不同人的信息 例如经理 员工 客户 可以针对性的制定不同的通知 调用委托 可以一次性的群发给他们 委托使用场景2 方法的参数是个方法 例如按钮方法 参数是一个点击事件的方法
  • 麦克灵敏度调整

    1 先看MIC电路连接 这是个差分输入的例子 MICP2和MICN2是一对差分信号 经过C156的滤波 输入到MIC两端 MIC两引脚分别是到地和供电 上图的R177参数就关系到MIC输入的灵敏度 2 电阻R177影响灵敏度分析 MICBI
  • C++中函数返回引用

    1 返回引用和不返回引用的区别 下面两个代码是在类中的成员函数 而m data 变量为类的私有成员变量 int at return m data int at return m data 上面两个函数 第一个返回值是int的引用int 第二
  • Log Structured Merge Trees(LSM) 原理

    Log Structured Merge Trees LSM 原理 十年前 谷歌发表了 BigTable 的论文 论文中很多很酷的方面之一就是它所使用的文件组织方式 这个方法更一般的名字叫 Log Structured Merge Tree
  • 【数据结构】唯一确定一个二叉树的方法

    唯一确定一棵二叉树的方法 在了解以何种方式能唯一确定一棵二叉树之前 需要先认识树的遍历方式有哪几种 树的遍历方式 先序遍历 后序遍历 层序遍历 二叉树的遍历方式 先序遍历 中序遍历 后序遍历 层序遍历 确定的方式 那么如何唯一确定一棵二叉树
  • “0xc000007b无法正常启动”解决方案汇总

    今天在运行一个Opengl项目时总是一直报 0xc000007b无法正常启动 的错误 于是百度了一些解决方案 当然这些解决方案是针对不同错误原因提出来的 所以如果读者也遇到同样的错误可以一一尝试 或者首先分析原因再选择解决方案 现将这个问题
  • 如何在windows编译ffmpeg

    在Windows上编译FFmpeg可以使用MSYS2或Cygwin来配置编译环境 然后使用MinGW或Visual Studio等工具进行编译 下面是使用MSYS2和MinGW的步骤 下载并安装MSYS2 https www msys2 o
  • qt中关于按钮的click()函数卓见

    概述 按钮有一个基类QAbstractButton 这个类中有一个函数click j几乎所有的函数都继承了这个类QAbstractButton 同时这个函数click 是一个公有的槽函数 也就是意味着所有的子类都可以调用这个函数 而这个cl
  • java基础之用switch判断学生成绩等级

    package 流程控制 练习 1 用switch语句完成输入学生的考试成绩判断成绩等级 2 等级 优秀 90 100 良好 80 90 中等 70 80 及格 60 70 不及格 0 60 3 成绩必须在 0 100 之间 import
  • Vue中filters过滤器的封装

    目录 Vue中的filters过滤器是什么 Vue中为什么要封装filters过滤器 封装准备开始 如何封装一个全局的filters过滤器 Vue中的filters过滤器是什么 在vue中过滤器实质上是对文本进行格式化 在渲染前对数据进行处
  • joblib嵌套式并行运行方式

    20220811 0 引言 在进行机器学习的相关实验中 当使用sklearn的时候 通常可以通过n jobs 1这个参数实现某些算法的并行化 例如集成学习的方法 或者是参数搜索的函数 通过查看相关的文档 或者直接去看这个代码 可以发现skl
  • 您的设备不支持googleplay服务_[GoPro] APP不支持Google Play服务解决办法

    很多安卓手机用户在初次使用GoPro APP的时候有可能会遇到下图设备不支持Google Play服务的提示 这是因为国内手机默认设置没有Google三件套 接下来我们介绍两种解决办法 一适用除部分华为新机型以外的安卓机 首先直接网页搜索或
  • 【论文笔记】nnU-Net: a self-configuring method for deep learning-based biomedical image segmentation

    nnU Net 一种基于深度学习的自配置生物医学图像分割方法 Results nnU Net的自动配置基于将领域知识提取成三个参数组 固定的 基于规则的和经验的参数 收集不需要在数据集之间进行调整的设计决策 并确定稳健的通用配置 fixed
  • mysql一行逗号分割的数据分解为多行

    在 MySQL 中 你可以使用函数 REPLACE 和 SUBSTRING INDEX 来将一行逗号分隔的数据分解为多行 例如 假设你有一个表 其中包含一列 items 该列包含逗号分隔的字符串 如下所示 id items 1 item1