最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mysql逗號分隔的一行數(shù)據(jù)轉為多行數(shù)據(jù)的兩種方法

 更新時間:2024年11月22日 09:36:23   作者:黑色與白  
本文主要介紹了兩種將MySQL中逗號分隔的一行數(shù)據(jù)轉換為多行數(shù)據(jù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

原表:

在這里插入圖片描述

結果:

在這里插入圖片描述

方法一:如果每條數(shù)據(jù)的被逗號分隔的數(shù)量在637條以內(nèi),使用 mysql.help_topic(mysql自帶的表,只有637個序號)。

select a.id,a.enclosure_ids,
       SUBSTRING_INDEX(SUBSTRING_INDEX(a.enclosure_ids,',',b.help_topic_id+1),',',-1) split  
from am_voucher a left join mysql.help_topic b 
ON b.help_topic_id<(length(a.enclosure_ids)-length(REPLACE(a.enclosure_ids,',',''))+1) 

方法二:如果逗號數(shù)量在636個以外,并且原表行數(shù)超過逗號分隔的數(shù)量。

SELECT id,enclosure_ids,
       SUBSTRING_INDEX( SUBSTRING_INDEX( enclosure_ids,',',rownums),',', - 1) AS split 
FROM am_voucher a join 
(SELECT @rownum := @rownum+1 AS rownums FROM (SELECT @rownum :=0) a,am_voucher b) b 
on rownums <= (length(a.enclosure_ids)-length(REPLACE(a.enclosure_ids,',',''))+1) 

弊端:1.會忽略null值。2.(重要)假設原表中只有2行數(shù)據(jù),但是其中一個字符串被逗號分割為大于2條的數(shù)據(jù),那么 split 所在的那條數(shù)據(jù)就只會拆分出前2條數(shù)據(jù)。

邏輯解釋:

1.length(a.enclosure_ids)-length(REPLACE(a.enclosure_ids,‘,’,‘’))+1
字段原長度 - 字段去除掉逗號的長度 + 1,得到通過逗號分割后有幾條數(shù)據(jù)。

2.SUBSTRING_INDEX(SUBSTRING_INDEX(a.enclosure_ids,‘,’,b.help_topic_id+1),‘,’,-1)
里面的SUBSTRING_INDEX是從每個逗號循環(huán)截取字符串,如下

在這里插入圖片描述

外面的SUBSTRING_INDEX是根據(jù)里面的數(shù)據(jù)取最后一個逗號后面的數(shù)據(jù)。

在這里插入圖片描述

到此這篇關于mysql逗號分隔的一行數(shù)據(jù)轉為多行數(shù)據(jù)的實現(xiàn)的文章就介紹到這了,更多相關mysql逗號分隔轉為多行內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家! 

相關文章

  • Mysql數(shù)據(jù)庫delete操作沒報錯卻刪除不了數(shù)據(jù)的解決

    Mysql數(shù)據(jù)庫delete操作沒報錯卻刪除不了數(shù)據(jù)的解決

    本文主要介紹了Mysql數(shù)據(jù)庫delete操作沒報錯卻刪除不了數(shù)據(jù)的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • linux下啟動或者關閉MySQL數(shù)據(jù)庫的多種方式

    linux下啟動或者關閉MySQL數(shù)據(jù)庫的多種方式

    ,在Linux服務器上管理MySQL服務是一個基本的運維任務,下面這篇文章主要給大家介紹了關于linux下啟動或者關閉MySQL數(shù)據(jù)庫的多種方式,文中通過代碼以及圖文介紹的非常詳細,需要的朋友可以參考下
    2024-06-06
  • MySQL中DATE_FORMAT()函數(shù)將Date轉為字符串

    MySQL中DATE_FORMAT()函數(shù)將Date轉為字符串

    時間、字符串、時間戳之間的互相轉換很常用,下面這篇文章主要給大家介紹了關于MySQL中DATE_FORMAT()函數(shù)將Date轉為字符串的相關資料,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • MySQL 通過索引優(yōu)化含ORDER BY的語句

    MySQL 通過索引優(yōu)化含ORDER BY的語句

    合理的建立索引能夠加速數(shù)據(jù)讀取效率,不合理的建立索引反而會拖慢數(shù)據(jù)庫的響應速度。
    2010-03-03
  • Mysql數(shù)據(jù)庫性能優(yōu)化二

    Mysql數(shù)據(jù)庫性能優(yōu)化二

    這篇文章主要介紹了Mysql數(shù)據(jù)庫性能優(yōu)化二 的相關資料,需要的朋友可以參考下
    2016-04-04
  • MySQL中TIMESTAMP類型返回日期時間數(shù)據(jù)中帶有T的解決

    MySQL中TIMESTAMP類型返回日期時間數(shù)據(jù)中帶有T的解決

    這篇文章主要介紹了MySQL中TIMESTAMP類型返回日期時間數(shù)據(jù)中帶有T的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Mysql多主一從數(shù)據(jù)備份的方法教程

    Mysql多主一從數(shù)據(jù)備份的方法教程

    這篇文章主要給大家介紹了關于Mysql多主一從數(shù)據(jù)備份的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧
    2018-12-12
  • SQL中row_number()?over(partition?by)的用法說明

    SQL中row_number()?over(partition?by)的用法說明

    這篇文章主要介紹了SQL中row_number()?over(partition?by)的用法說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • MySQL?數(shù)據(jù)庫的基礎知識

    MySQL?數(shù)據(jù)庫的基礎知識

    這篇文章主要介紹了MySQL?數(shù)據(jù)庫的基礎知識,它是一類更具體的可以管理數(shù)據(jù)的軟件。但是實現(xiàn)數(shù)據(jù)庫的這個軟件,需要用到很多的數(shù)據(jù)結構,下面來看看文章是怎么具體介紹這個數(shù)據(jù)庫的
    2021-12-12
  • mysql列轉行以及年月分組實例

    mysql列轉行以及年月分組實例

    下面小編就為大家?guī)硪黄猰ysql列轉行以及年月分組實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03

最新評論

湟源县| 红原县| 海林市| 镇宁| 交城县| 会昌县| 宁乡县| 沅江市| 金湖县| 宾川县| 两当县| 普洱| 渭南市| 光山县| 晋城| 玛曲县| 河池市| 平遥县| 宝兴县| 潍坊市| 溧水县| 双柏县| 廉江市| 上虞市| 越西县| 辽阳县| 南岸区| 碌曲县| 汉沽区| 浙江省| 龙门县| 攀枝花市| 车致| 商河县| 视频| 屯门区| 宜春市| 博罗县| 孟村| 武强县| 长岭县|