相关文章推荐
帅气的投影仪  ·  郝社永 - 抖音百科·  2 天前    · 

我们经常在使用数据库都是行转列,或列转行,这都比较常见,但是工作中遇到了一个问题,在mysql数据库中存在一个字段,存的是一个全路径,并且各级路径ID以逗号隔开,现在需要用逗号,将一列拆分成多列显示,也就是列转列,需要怎么做呢?

首先,模拟一条数据出来:

SELECT '100015011,546,100011239,695,6915038369' COL;

接下来,需要将这一列数据以逗号分隔拆分成5列,需要使用SUBSTRING_INDEX函数。先介绍下这个函数的用法:

SUBSTRING_INDEX(str,delim,count)  -- str: 被分割的字符串; delim: 分隔符; count: 分割符出现的次数。

cout 为整数标识从左边开始,count为负数从右边开始。

接下来具体实现:

SELECT

B.COL,

SUBSTRING_INDEX( SUBSTRING_INDEX( B.COL, ',', 1 ), ',', - 1 ) one,

SUBSTRING_INDEX( SUBSTRING_INDEX( B.COL, ',', 2 ), ',', - 1 ) two,

SUBSTRING_INDEX( SUBSTRING_INDEX( B

mysql _ 一列 分多行操作,在一个表里的几行数据需要分 拆成 单行存储到一行 mysql _ 一列 分多行操作,在一个表里的几行数据需要分 拆成 单行存储到一行 mysql _ 一列 分多行操作,在一个表里的几行数据需要分 拆成 单行存储到一行 mysql _ 一列 分多行操作,在一个表里的几行数据需要分 拆成 单行存储到一行 有时候可能数据库存的是一个汇总的字段,例如表A,有一类型名称为identifier,根据0和1代表不同含义来区分值,比如0代表私有,1代表公有,值存储在name字段里,这时候想获得这样的结果:id, 私有的名字, 共有的名字三列字段,我们可以在查询时候用 IF 语句来实现。 SELECT cam_id, IF(identifier = 0, name, null) as private, if... 可以 使用 MySQL 的 PIVOT 函数来实现将某 一列 形成 多列 使用 PIVOT 函数需要先对数据进行分组,然后将某 一列 的值作为新的列名,其余列的值作为新列的值。 例如,假设有一个名为 sales 的表,包含三列:product_name(产品名称)、region(地区)和 sales_volume(销售量)。如果要将地区形成 多列 ,可以 使用 以下查询: SELECT product_name, CREATE TABLE `testtag` ( `postid` int(11) NOT NULL AUTO_INCREMENT, `likes` int(100) DEFAULT NULL, `replay` int(100) DEFAULT NULL, `share` int(100) DEFAULT NULL, `tagid` varchar(220) COLLATE utf8mb4_unicode_ci DEFAULT NULL, PRIMARY KEY (`p I have column like this+--------------------------+| Marks |+--------------------------+|Maths-80,Phy-100,Che-99 ||Maths-90,Phy-60 ||Phy-82,Che-65 ||Che-90 ... 我试图 拆分 字段(在某些分隔 处,在下面的示例 使用 ';')并将 拆分 结果插入表 。我想要做的是在下面的表格 说明。 MySQL - 拆分 字段并将结果插入列注:绝不会有由分号分隔超过3个值(;)在第一行,但可以有少于3 mysql > SELECT * FROM new;+-------+------+------+------+| first | a | b | c |+-------+------... SELECT substring_index( substring_index( t.best_response, ',', b.help_topic_id + 1 ), ',', - 1 ) FROM m_require t JOIN mysql .help_topic b ON b.help_topic_id < ( LENGTH( t.best_response ) - LENGTH( ... MySQL 列,按指定字 分割字 串字段,在 in( 使用 ) 与 Mysql 列区别:行 列要知道列的内容,而这个不用,只需知道拼接的字 就行了 有时候我们的 Excel 表格里只有 一列 数据,如果需要打印出来的话,就是下面这样子的:浪费纸不说,还很丑,这样打印的表格你真的敢拿给老板看吗?对于这样的数据,就需要把 一列 平均分配到 多列 ,通常有两种方法来实现,先来看看操作的方法:一、操作法将 一列 数据变成 多列 步骤1:先设计好需要 拆分 为几列,然后将标题手动做好;本例 计划 拆分 8列。步骤2:在c2单元格输入a2,向右拉, Excel 会自动为我们填充到a9。步骤... Mysql 笔试题之单列 拆分 多列 查询并合并显示 事情是这样的:某天在开发群里看同行们在聊天,有一位同行发了一个 mysql 笔试题。抱着试一试的心态研究了几个小时。话不多说直接上题。 有学生表,结构和数据如下图: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL, `course`