16、MySQL拆分与拼接行数据

一、根据逗号拆分行数据:

1、数据表:

2、数据拆分:

SELECT
    de.uuid,
    de.`name`,
    SUBSTRING_INDEX( SUBSTRING_INDEX( de.`code`, ',', ht.help_topic_id + 1 ), ',', - 1 ) AS newCode 
FROM
    `demo` de
    JOIN mysql.help_topic ht ON ht.help_topic_id < ( LENGTH( de.`code` ) - LENGTH( REPLACE ( de.`code`, ',', '' )) + 1 ) 
GROUP BY
    de.uuid,
    de.`name`,
    SUBSTRING_INDEX( SUBSTRING_INDEX( de.`code`, ',', ht.help_topic_id + 1 ), ',', - 1 );

 

二、利用group_concat()函数拼接行数据:

1、数据表:

2、数据拼接:

SELECT
    de.`name`,
    group_concat( de.`code` ) 
FROM
    `demo` de 
GROUP BY
    de.`name`

 

posted on 2023-11-02 12:15  爱文(Iven)  阅读(63)  评论(0编辑  收藏  举报

导航