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

MySQL中列如何以逗號分隔轉(zhuǎn)成多行

 更新時(shí)間:2023年02月07日 09:46:57   作者:搬運(yùn)Gong  
這篇文章主要介紹了MySQL中列如何以逗號分隔轉(zhuǎn)成多行問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

MySQL列以逗號分隔轉(zhuǎn)成多行

業(yè)務(wù)場景:

在數(shù)據(jù)庫中,有一張的一個字段存儲方式是采用以逗號分隔存儲多個值,現(xiàn)在需要將其進(jìn)行拆分成多個獨(dú)立的值,與另外一張字典表進(jìn)行關(guān)聯(lián),取的最終的字典表中的 label,再以逗號拼接成顯示 label 的形式展現(xiàn)。

場景

表中存儲的值:

期待最終的展現(xiàn)效果:

        甜品,休閑食品,飲料

解決方案

1. 將一列轉(zhuǎn)成多行

select v1.id,SUBSTRING_INDEX(SUBSTRING_INDEX(v1.intention_exhibits, ',', b.help_topic_id + 1), ',', - 1) AS exhibit
                      from test v1
                               JOIN mysql.help_topic AS b ON b.help_topic_id < (length(v1.intention_exhibits) -
                                                             length(REPLACE(v1.intention_exhibits, ',', '')) + 1)
where v1.id = '63591ee4f8204212837e447b34c61fef';

說明:

mysql.help_topic 表的自增id是從0開始,所以在進(jìn)行截取時(shí)要對id進(jìn)行+1?!鞠到y(tǒng)表,不建議使用,真正的線上環(huán)境,dba 是不允許使用系統(tǒng)表的,所以,我們需要自己創(chuàng)建一張類似的表】

創(chuàng)建一張自增表,來代替 mysql.help_topic 系統(tǒng)表,自增表的值,需要大于自己業(yè)務(wù)表中逗號拆出來的集合數(shù):

create table add_self
(
    id int(20) null
);
 
INSERT INTO add_self (id) VALUES (0);
INSERT INTO add_self (id) VALUES (1);
INSERT INTO add_self (id) VALUES (2);
INSERT INTO add_self (id) VALUES (3);
INSERT INTO add_self (id) VALUES (4);
INSERT INTO add_self (id) VALUES (5);
INSERT INTO add_self (id) VALUES (6);
INSERT INTO add_self (id) VALUES (7);
INSERT INTO add_self (id) VALUES (8);
INSERT INTO add_self (id) VALUES (9);
INSERT INTO add_self (id) VALUES (10);

2. 最終 SQL

select group_concat(edn.name)
from (
select v1.id,SUBSTRING_INDEX(SUBSTRING_INDEX(v1.intention_exhibits, ',', b.id + 1), ',', - 1) AS exhibit
                      from test1 v1
                               JOIN add_self AS b ON b.id < (length(v1.intention_exhibits) -
                                                             length(REPLACE(v1.intention_exhibits, ',', '')) + 1)
    where v1.id = '63591ee4f8204212837e447b34c61fef') t
    left join test2 edn on t.exhibit = edn.local_key;

使用到的相關(guān)函數(shù):

  • group_concat
  • substring_index
  • length

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL的子查詢中FROM和EXISTS子句的使用教程

    MySQL的子查詢中FROM和EXISTS子句的使用教程

    這篇文章主要介紹了MySQL的子查詢中FROM和EXISTS子句的使用教程,子查詢是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-12-12
  • MySQL表結(jié)構(gòu)變更你不可不知的Metadata Lock詳解

    MySQL表結(jié)構(gòu)變更你不可不知的Metadata Lock詳解

    這篇文章主要給大家介紹了關(guān)于MySQL表結(jié)構(gòu)變更你不可不知的Metadata Lock的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • MySQL大小寫敏感的注意事項(xiàng)

    MySQL大小寫敏感的注意事項(xiàng)

    MySQL 在 Windows 下不區(qū)分大小寫,但在 Linux 下默認(rèn)是區(qū)分大小寫。如果你稍加不注意就會出現(xiàn)在本機(jī)開發(fā)的程序運(yùn)行一切正常,發(fā)布到服務(wù)器行就出現(xiàn)表名找不到的問題,一頭霧水。
    2021-05-05
  • MySQL索引設(shè)計(jì)原則深入分析講解

    MySQL索引設(shè)計(jì)原則深入分析講解

    為了使索引的使用效率更高,在創(chuàng)建索引時(shí),必須考慮在哪些字段上創(chuàng)建索引和創(chuàng)建什么類型的索引。索引設(shè)計(jì)不合理或者缺少索引都會對數(shù)據(jù)庫和應(yīng)用程序的性能造成障礙。高效的索引對于獲得良好的性能非常重要。設(shè)計(jì)索引時(shí),應(yīng)該考慮相應(yīng)準(zhǔn)則
    2023-01-01
  • Mysql中的NULL和Empty String

    Mysql中的NULL和Empty String

    這篇文章主要介紹了Mysql中的NULL和Empty String知識,需要的朋友可以參考下
    2017-12-12
  • MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗(yàn)總結(jié)

    MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗(yàn)總結(jié)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫InnoDB引擎主從復(fù)制同步經(jīng)驗(yàn)總結(jié),本文總結(jié)了設(shè)置主從復(fù)制時(shí)遇到的一些錯誤和解決方法,需要的朋友可以參考下
    2015-01-01
  • mysql大小寫敏感導(dǎo)致程序無法啟動的問題

    mysql大小寫敏感導(dǎo)致程序無法啟動的問題

    這篇文章主要介紹了mysql大小寫敏感導(dǎo)致程序無法啟動的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • mysql索引(覆蓋索引,聯(lián)合索引,索引下推)

    mysql索引(覆蓋索引,聯(lián)合索引,索引下推)

    這篇文章主要介紹了mysql索引(覆蓋索引,聯(lián)合索引,索引下推),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Mysql兩種情況下更新字段中部分?jǐn)?shù)據(jù)的方法

    Mysql兩種情況下更新字段中部分?jǐn)?shù)據(jù)的方法

    Mysql更新字段中部分?jǐn)?shù)據(jù)的兩種情況在下文給予詳細(xì)的解決方法,感興趣的朋友可以參考下哈
    2013-05-05
  • MySQL數(shù)據(jù),查詢QPS,TPS數(shù)據(jù)方式

    MySQL數(shù)據(jù),查詢QPS,TPS數(shù)據(jù)方式

    文章詳細(xì)介紹了查詢MySQL數(shù)據(jù)庫QPS和TPS的方法和工具,包括直接通過命令行、PerformanceSchema、mysqladmin、Prometheus、自動化腳本等,同時(shí),還提供了優(yōu)化建議,如索引優(yōu)化、SQL調(diào)優(yōu)、事務(wù)控制和配置調(diào)優(yōu)
    2025-02-02

最新評論

文昌市| 通海县| 苍南县| 长武县| 中牟县| 皋兰县| 岢岚县| 安徽省| 利津县| 梁平县| 墨竹工卡县| 关岭| 洪洞县| 呼和浩特市| 台湾省| 方山县| 遂川县| 成都市| 桂平市| 紫金县| 施甸县| 马山县| 海丰县| 巴里| 固始县| 织金县| 水富县| 汉寿县| 延吉市| 麟游县| 宁波市| 政和县| 金湖县| 乐亭县| 平和县| 固镇县| 松江区| 繁昌县| 舟山市| 吕梁市| 东乡县|