首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从一个单元格中包含多个id的mysql表中获取

从一个单元格中包含多个id的MySQL表中获取数据,可以使用MySQL的字符串函数和正则表达式来实现。

首先,我们可以使用SUBSTRING_INDEX函数将单元格中的多个id拆分成多行数据。该函数的语法如下:

SUBSTRING_INDEX(str,delim,count)

其中,str是要拆分的字符串,delim是分隔符,count是要返回的子字符串的个数。如果count为正数,则返回从左到右的子字符串;如果count为负数,则返回从右到左的子字符串。

接下来,我们可以使用正则表达式函数REGEXP_SUBSTR来提取每行数据中的id。该函数的语法如下:

REGEXP_SUBSTR(str, pattern)

其中,str是要匹配的字符串,pattern是正则表达式模式。

下面是一个示例查询语句,假设我们有一个名为"table_name"的表,其中包含一个名为"cell"的单元格,其中包含多个id,以逗号分隔:

SELECT REGEXP_SUBSTR(SUBSTRING_INDEX(cell, ',', n), '[0-9]+') AS id FROM table_name CROSS JOIN ( SELECT 1 AS n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 ) AS numbers WHERE n <= LENGTH(cell) - LENGTH(REPLACE(cell, ',', '')) + 1

在上述查询语句中,我们使用了一个子查询来生成一个数字序列,用于拆分单元格中的多个id。通过调整子查询中的数字个数,可以适应不同单元格中id的数量。

这样,我们就可以从包含多个id的单元格中获取每个id的数据了。

对于MySQL数据库,腾讯云提供了云数据库MySQL版(https://cloud.tencent.com/product/cdb_mysql)和云原生数据库TDSQL(https://cloud.tencent.com/product/tdsql)等产品,用于满足不同场景下的数据库需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Mysql实现获取自增id插入到其他

现在有这样一需求,就是我向A插入一条数据,id是自增。...插入之后,还需要向B插入一条数据,但是B需要保存数据要使用刚刚A自增后id, 这个其实是一比较常见需求,就是两张之间关联,如果用程序来执行也是很容易实现。...比如我就在用sql执行之后,获取Aid插入到B 实现方式如下: insert into A (id,name,code) values (null, "zhagnsan", "zs"); // 注意...Aid要设置为自增,给null值即可 set @id = @@IDENTITY; // 使用id变量保存刚刚自增生成id insert into B (id,a_id,name) values...(null, @id, "lisi"); // 使用变量获取AId 上面是用自定义变量形式进行保存,如果你只是想查一下是多少,可以直接使用: select @@IDENTITY; 好了,如果对你有帮助

3.9K30

mysql实现获取自增id插入到其他

现在有这样一需求,就是我向A插入一条数据,id是自增。...插入之后,还需要向B插入一条数据,但是B需要保存数据要使用刚刚A自增后id, 这个其实是一比较常见需求,就是两张之间关联,如果用程序来执行也是很容易实现。...比如我就在用sql执行之后,获取Aid插入到B 实现方式如下: insert into A (id,name,code) values (null, "zhagnsan", "zs"); // 注意...Aid要设置为自增,给null值即可 set @id = @@IDENTITY; // 使用id变量保存刚刚自增生成id insert into B (id,a_id,name) values...(null, @id, "lisi"); // 使用变量获取AId 上面是用自定义变量形式进行保存,如果你只是想查一下是多少,可以直接使用: select @@IDENTITY; 好了,如果对你有帮助

3.5K20

MySQL 如何查询包含某字段

information_schema.tables 指数据库(information_schema.columns 指列) table_schema 指数据库名称 table_type 指是类型...(base table 指基本,不包含系统) table_name 指具体名 如查询work_ad数据库是否存在包含”user”关键字数据 select table_name from...如何查询包含某字段 select * from systables where tabname like 'saa%' 此法只对Informix数据库有用 查询指定数据库中指定所有字段名column_name...column_name from information_schema.columns where table_schema='csdb' and table_name='xxx'  检查数据库’test’某一...’ group by table_schema; mysql查询到包含该字段所有名 SELECT TABLE_NAME FROM information_schema.COLUMNS WHERE

12.3K40

Mysql如何随机获取数呢rand()

现在临时有10000行数据了,接下来你要在这个没有索引内存临时上,按照R字段排序 初始化sort_buffer两个字段,一是double,一整形 从内存临时中一行一行获取R和位置信息,把字段放入到...上图我们发现sort_buffer位置信息,是什么概念呢,而Mysql是如何定位一行数据呢, 首先我们知道mysql中有以下规则 对于有主键innodb来说,rowid就是我们主键 对于没有主键...而优先级算法,可以精准获取最小word 从临时获取前三行,组成一最大堆 然后拿下一行数据,和最大堆R比较,大于R,则丢弃,小于R,则替换 重复2步骤,直到把10000行数据循环完成...select * from t where id >= @X limit 1; 虽然上面可以获取数,但是他并不是一随机数,因为如何id可能存在空洞,导致每一行获取概率并不一样,如id=1,2,4,5...现在如果要获取随机数,根据随机算法2思路 获取整张总行数C 根据同样共识获取Y1,Y2,Y3 再执行limit Y,1.获取随机数 对应sql语句如下 mysql> select

4.5K20

Mysql查询数据库包含某个字段所有

背景 有一商品名称配置错误了,需要进行修改,但是涉及到太多了,因为商品sku_name被冗余到了很多表,一找非常费事费力,特地记下便捷查询操作以备后用。...数据库SQL快捷查询 1.查询包含某个字段所有名 SELECT DISTINCT table_name FROM information_schema.columns WHERE table_schema...= 'db_lingyejun' and column_name='sku_id'; 2.查询同时含有两个字段所有名 SELECT DISTINCT a.table_name FROM information_schema.columns...information_schema.columns b WHERE a.table_name = b.table_name and a.table_schema = 'db_lingyejun' and a.column_name='sku_id...('UPDATE ', a.table_name, 'set sku_name = "IPHONE 13PRO" where sku_id = 1106;') FROM information_schema.columns

4.3K20

Excel技术:如何在一工作筛选并获取另一工作数据

标签:Power Query,Filter函数 问题:需要整理一有数千条数据列表,Excel可以很方便地搜索并显示需要条目,然而,想把经过提炼结果列表移到一电子表格,不知道有什么好方法?...为简化起见,我们使用少量数据来进行演示,示例数据如下图1所示。 图1 示例数据位于名为“1”,我们想获取“产地”列为“宜昌”数据。...方法1:使用Power Query 在新工作簿,单击功能区“数据”选项卡获取数据——来自文件——从工作簿”命令,找到“1”所在工作簿,单击“导入”,在弹出导航器中选择工作簿文件1”...图5 FILTER函数简介 FILTER函数是一动态数组函数,其语法为: =FILTER(array, include, [if_empty]) 其中,参数array,想要筛选数据,单元格区域或数组...参数include,筛选条件,语句应返回为TRUE,以便将其包含在查询。参数if_empty,如果没有满足筛选条件结果,则在这里指定返回内容,可选。

10K40

yhd-VBA从一工作簿某工作查找符合条件数据插入到另一工作簿某工作

今天把学习源文件共享了出来,供大家学习使用 上次想到要学习这个 结合网友也提出意见,做一,如果有用,请下载或复制代码使用 【问题】我们在工作中有时要在某个文件(工作簿)查找一些数据,提取出来...想要做好了以后同样工作就方便了 【想法】 在一程序主控文件 设定:数据源文件(要在那里查找工作簿) 设定:目标文件(要保存起来那个文件) 输入你要查找数据:如:含有:杨过,郭靖数据。...要复制整行出来 主控文件设定如图 数据源文件有两工作 查找到"郭靖"数据保存到目标文件【射雕英雄传】工作 查找到"杨过"数据保存到目标文件【第一】工作 【代码】 Sub...从一工作簿某工作查找符合条件数据插入到另一工作簿某工作() Dim outFile As String, inFile As String Dim outWb As...MsgBox ("一也没找到") End If '==end=工作内部

5.1K22

Mysql通过关联update将一张字段更新到另外一张

做什么事情 更新book_borrow,设置其中student_name为studentname,关联条件为book_borrow.student_id = student_id student... book_borrow 几种不同更新方式 保留原数据更新 只会更新student中有的数据,student查不到数据,在book_borrow还保持不变,不会更新,相当于内连接...update book_borrow br,student st set br.student_name = st.name where br.student_id = st.id; 全部以右数据为准...更新结果以student查询结果为准,student没有查到记录会全部被更新为null 相当于外连接 update book_borrow br set student_name = (select...= st.id set br.student_name = st.name;   将一张查询结果插入到另外一张 insert select :将一条select语句结果插入到 -- insert

1.5K10

VBA: 将多个工作簿第一张工作合并到一工作簿

文章背景: 在工作,有时需要将多个工作簿进行合并,比如将多份原始数据附在报告之后。...一般操作方法是打开两工作簿(目标工作簿和待转移工作簿),然后选中需要移动工作,右键单击以后选择“移动或复制”。接下来在新对话框里面进行设置。 这种方法适合在移动少量工作时候使用。...在目标工作簿内,插入一模块,然后导入如下代码: Option Explicit Sub MergeWorkbook() '将多个工作簿第一张工作合并到目标工作簿...End Sub (1) 将目标工作簿和待转移工作簿放在同一文件夹内; (2)上述代码要实现功能是,将同一文件夹内所有工作簿(目标工作簿除外)第一张工作拷贝到目标工作簿内,并将名设置为拷贝前所属工作簿名称...转移前: 转移后: 参考资料: [1] 如何使用Excel VBA将多个工作簿全部工作合并到一工作簿(https://zhuanlan.zhihu.com/p/76786888)

5.3K11

如何在MySQL获取某个字段为最大值和倒数第二条整条数据?

MySQL,我们经常需要操作数据库数据。有时我们需要获取倒数第二记录。这个需求看似简单,但是如果不知道正确SQL查询语句,可能会浪费很多时间。...在本篇文章,我们将探讨如何使用MySQL查询获取倒数第二记录。 一、查询倒数第二记录 MySQL中有多种方式来查询倒数第二记录,下面我们将介绍三种使用最广泛方法。...我们可以使用以下查询语句来实现: SELECT * FROM table_name ORDER BY id DESC LIMIT 1,1; 其中,table_name代表你名,id代表你自增...二、下面为大家提供一测试案例 我们来看一例子,假设我们有一名为users,其中包含以下字段: CREATE TABLE users ( id INT(11) NOT NULL AUTO_INCREMENT...SELECT * FROM commodity ORDER BY price ASC LIMIT 1; 结论 在MySQL获取倒数第二条记录有多种方法。

59310

浅谈HBase

结构 rowkey:主键,数据按照rowkey字典序排列,类似于MySQL主键ID; 列族:列族是schema一部分(而列不是),即建时至少指定一列族,每个列都归属于某个列族...; 列:列肯定是某一列族下列,用列族名:列名表示,相当于MySQL具体列; 单元格:指定rowkey、列族、列,可以确定一cell,即单元格,cell数据没有类型,是以字节数组进行存储...分配到指定HRegionServer 管理HRegionServer负载均衡 HRegionServer宕机,负责其上面的Region迁移 HRegionServer HBase集群角色,包含多个...每一行单元格(Cell)被有序存储,同一列族单元格被存储在一存储文件(StoreFile),不同列族单元格不会出现在同一存储文件。...同一单元格多个版本被单独存储为连续单元格,而且按照时间戳降序排列,所以在读取数据时,最新值先被读取到。每个单元格结构为一keyvalue,如下: ?

59220

分布式数据库-课程总结

module_item_id=3782 数据库模型特点:列族 文档 键值对 图 数据库特点:官网首页 与关系数据库对比: 逻辑结构(数据库 单元格) 操作语句对比(内容可以基本对比)...table table 列字段 列族+列标识 行 rowkey行间 单元格cell rowkey+列族+列标识+版本 操作语句 级别语句 建 mysql CREATE TABLE exam_result...#创建一张名为Student包含基本信息(baseinfo)、学校信息(schoolinfo)两列簇 create 'student','haseinfo','schoolinfo' 删除...仅需一次简单查询就能够获取到你所需数据。...与关系数据库对比 存储对比 MySQL MongoDB 数据库db db table 集合collection 列字段 行 document文档 单元格cell 键值对k:v 操作语句 见PPT

19910

理解group by

2   可是为了能够更好理解“group by”多个列“和”聚合函数“应用,我建议在思考过程,由1到2过程,增加一虚构中间:虚拟3。...3.接下来就要针对虚拟3执行Select语句了: (1)如果执行select *的话,那么返回结果应该是虚拟3,可是id和number中有的单元格里面的内容是多个,而关系数据库就是基于关系,...单元格是不允许有多个,所以你看,执行select * 语句就报错了。...(3)那么对于id和number里面的单元格多个数据情况怎么办呢?答案就是用聚合函数,聚合函数就用来输入多个数据,输出一数据。...如cout(id),sum(number),而每个聚合函数输入就是每一多数据单元格

1.1K10
领券