`
gwh_08
  • 浏览: 337346 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

逗号分割的行数据变列

 
阅读更多

mysql数据表中数据如下:

id	result
47857	2,13,16
47872	10,13,16
47875	16,13,10
47970	1,16,19

 要把逗号分割的值,以列的形式查询出来,处理方式如下:

	SELECT a.id, 
		substring_index( substring_index( a.result, ',', b.help_topic_id + 1 ), ',',- 1 ) result 
	FROM t_table a
	LEFT JOIN mysql.help_topic b ON b.help_topic_id < ( length( a.result ) - length( REPLACE ( a.result, ',', '' ) ) + 1 )

 查询结果如下:

id	result
47857	2
47857	13
47857	16
47872	10
47872	13
47872	16
47875	16
47875	13
47875	10
47970	1
47970	16
47970	19

 其中,关联表mysql.help_topic  是为了利用他的id(从1开始的自增长id)自增长的特性来对分割后的列进行行数控制,其id最大值为700以上,基本上可以满足行被拆分的数量要求。

 

分享到:
评论

相关推荐

    oracle实现行转列功能,并使用逗号进行隔开拼接,成为一条数据.pdf

    Oracle 中实现行转列功能,并使用逗号进行隔开拼接,成为一条数据是指将多行数据合并成一行数据,并用逗号分隔每个字段的值。这种功能在实际应用中非常有用,例如在报表生成、数据分析和数据整合等场景中。 在 ...

    Oracle逗号分隔列转行实现方法

    因此用到了逗号分隔列转行的方法。目前该方法只适合在oracle数据库中使用。该方法只需要sql语句就可以实现列转行。  下面给出该方法的示例: select a,b,c from(with test as (select ‘aaa’ a,’bbb’ b,’1,2,3...

    SQL 将以逗号分隔符的字符串转换为 table 列的函数

    将带分隔符的字符串 例如 '1,2,3,4,5,6,7,8,9,10' 转换成table 的列的函数

    MySQL中将一列以逗号分隔的值行转列的实现

    即一列中存储了多个属性值。如下表 pk value 1 ET,AT 2 AT,BT 3 AT,DT 4 DT,CT,AT 一般有这两种常见需求(测试数据见文末) 1.得到所有的不重复的值,如 value AT BT CT DT ET SQL...

    oracle 存储过程中某入参是逗号分隔,并且参数要使用在in过滤语句中

    oracle存储过程中入参是逗号分隔,并且参数要使用在in过滤语句中查询数据。处理的方法与实现

    oracle查询表的所有列并用逗号隔开

    在Oracle数据库环境中,有时我们需要获取一个表的所有列名,并且以特定格式(如逗号分隔)输出这些列名。这种需求通常出现在多种场景中,比如动态SQL构建、数据迁移或者系统日志记录等。本篇文章将详细介绍如何在...

    一列保存多个ID(将多个用逗号隔开的ID转换成用逗号隔开的名称)

    最后,通过`mike2`的CTE,将所有同ID的行聚合在一起,形成一个由逗号分隔的部门名称字符串。 整个过程的SQL语句大致如下: 1. 使用`OUTER APPLY`和`LEFT JOIN`获取初步结果: ```sql SELECT E.*, ISNULL(D.name, '...

    oracle将以逗号分隔字符串转多行

    在Oracle数据库中,将逗号分隔的字符串转换为多行是常见的数据处理需求,尤其在需要对每个分隔项进行单独操作时。这个过程通常涉及到字符串处理函数,如`REGEXP_SUBSTR`和`REPLACE`,以及层次查询结构`CONNECT BY`。...

    将Excel竖行内容转横行工具,用逗号隔开Ctrl+C转换Ctrl+R功能

    然而,这个工具似乎提供了一种新的转换方式,将原本竖直排列的数据转换为横向,并且在各数据项之间用逗号分隔。 描述中提到的“快速将大量的数据转换成一条数据,中间以逗号隔开,还原原先Excel2003-2007 Ctrl+R转...

    oracle wm_concat 列转行 逗号分隔

    当你在一个GROUP BY子句中使用WM_CONCAT时,它会将相同组内的所有行的`column_name`的值连接起来,用逗号分隔。 例如,考虑以下示例: ```sql CREATE TABLE wlbtest1 ( username VARCHAR2(2), deptID NUMBER ); ...

    sql实现多行合并一行

    由于一只股票可能对应多个研究员,因此我们需要找到一种方法将这些研究员的代码合并到一行中,且各个研究员代码之间用逗号分隔。 在Oracle中,我们可以利用`CONNECT BY`和`SYS_CONNECT_BY_PATH`函数来实现这个目标...

    MySQL将一个字段中以逗号分隔的取出来形成新的字段实现

    在MySQL数据库中,经常遇到需要处理以逗号分隔的字段值的情况,这些字段通常用于存储多值数据,比如在本例中,`related_shop_ids`字段存储了多个商店ID,用逗号分隔。本篇文章将详细讲解如何将这样的字段拆分成多个...

    EasyUI指定列-合并相同数据行

    通过遍历每一列,使用`split`方法根据逗号分隔字符串来获取列数组。接着,遍历每一行,比较相邻两行同一列的值,如果相同,则累加计数器;如果不相同,则执行合并操作。 #### 详细步骤 1. **初始化Datagrid**:...

    oracle sql 某列的值按照逗号分割显示成多行.sql

    oracle 某列存儲的值是有逗號的字符串,希望通過逗號分隔開來顯示多行。sql,有預期結果,有項目實戰。

    多行以指定分隔符拼接桌面绿色程序,类似列转行功能

    例如,我们可能需要找出所有ID在一定范围内的记录,然后将这些ID以逗号分隔的形式用于其他查询,比如`SELECT * FROM table WHERE ID IN (id1, id2, ...)`这样的语句。传统的操作方式可能是手动复制并用回车键分隔每...

    Linux awk将文件某列按照逗号分隔的例子

    相反,如果你有一个由逗号分隔的列表,比如`1,2,3,4,5`,并且想要将它们合并成单个字符串`12345`,你可以改变输入记录分隔符(Input Record Separator, IRS): ```bash cat temp.txt | awk 'BEGIN{RS=","} {print ...

    comma2dot:用逗号转换一串值并将它们转换成矩阵-matlab开发

    如果输入的字符串代表的是二维数据,可以通过适当的分隔符(如逗号和换行符)来指示行和列,`comma2dot`也能识别并创建相应的矩阵。 下面是一些可能的应用场景: 1. 数据导入:当你从一个欧洲格式的CSV文件中读取...

    sql里将重复行数据合并为一行数据使用逗号进行分隔

    当存在多个相同值的行,我们可能希望将它们合并成一行,并将相应的列值用特定字符(如逗号)分隔开。本篇文章将详细讲解如何在SQL中实现这一功能。 首先,让我们创建一个示例表`@T1`,包含`UserID`、`UserName`和`...

    SqlServer列转行的另一种方式

    - `FOR XML PATH('')`确保所有符合条件的数据行都被压缩成一行输出,且行间不使用任何字符进行分隔。 3. **查询条件**:使用`WHERE`子句过滤出符合特定条件的记录,如`stacklist_moeid = 367637`、`stacklist_jxbm ...

Global site tag (gtag.js) - Google Analytics