电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

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

瀏覽:233日期:2023-02-18 16:43:41
目錄
  • MySQL列以逗號(hào)分隔轉(zhuǎn)成多行
    • 場(chǎng)景
    • 解決方案
  • 總結(jié)

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

    業(yè)務(wù)場(chǎng)景:

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

    場(chǎng)景

    表中存儲(chǔ)的值:

    期待最終的展現(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";

    說(shuō)明:

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

    創(chuàng)建一張自增表,來(lái)代替 mysql.help_topic 系統(tǒng)表,自增表的值,需要大于自己業(yè)務(wù)表中逗號(hào)拆出來(lái)的集合數(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é)

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

    標(biāo)簽: MySQL
    主站蜘蛛池模板: 活性炭厂家-蜂窝活性炭-粉状/柱状/果壳/椰壳活性炭-大千净化-活性炭 | 玉米深加工设备|玉米加工机械|玉米加工设备|玉米深加工机械-河南成立粮油机械有限公司 | 酒糟烘干机-豆渣烘干机-薯渣烘干机-糟渣烘干设备厂家-焦作市真节能环保设备科技有限公司 | 卸料器-卸灰阀-卸料阀-瑞安市天蓝环保设备有限公司 | 冷凝水循环试验箱-冷凝水试验箱-可编程高低温试验箱厂家-上海巨为(www.juweigroup.com) | 智慧旅游_智慧景区_微景通-智慧旅游景区解决方案提供商 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 周口市风机厂,周鼓风机,河南省周口市风机厂 | 安徽合肥格力空调专卖店_格力中央空调_格力空调总经销公司代理-皖格制冷设备 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 砖机托板价格|免烧砖托板|空心砖托板厂家_山东宏升砖机托板厂 | 海尔生物医疗四川代理商,海尔低温冰箱四川销售-成都壹科医疗器械有限公司 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 北京易通慧公司从事北京网站优化,北京网络推广、网站建设一站式服务商-北京网站优化公司 | 免费网站网址收录网_海企优网站推荐平台| 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 可程式恒温恒湿试验箱|恒温恒湿箱|恒温恒湿试验箱|恒温恒湿老化试验箱|高低温试验箱价格报价-广东德瑞检测设备有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 步进_伺服_行星减速机,微型直流电机,大功率直流电机-淄博冠意传动机械 | 北京晚会活动策划|北京节目录制后期剪辑|北京演播厅出租租赁-北京龙视星光文化传媒有限公司 | 广州冷却塔维修厂家_冷却塔修理_凉水塔风机电机填料抢修-广东康明节能空调有限公司 | 转向助力泵/水泵/发电机皮带轮生产厂家-锦州华一精工有限公司 | 专业甜品培训学校_广东糖水培训_奶茶培训_特色小吃培训_广州烘趣甜品培训机构 | 智能门锁电机_智能门锁离合器_智能门锁电机厂家-温州劲力智能科技有限公司 | 驾驶式洗地机/扫地机_全自动洗地机_工业洗地机_荣事达工厂官网 | FFU_空气初效|中效|高效过滤器_空调过滤网-广州梓净净化设备有限公司 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 壹车网 | 第一时间提供新车_资讯_报价_图片_排行! | 合肥仿石砖_合肥pc砖厂家_合肥PC仿石砖_安徽旭坤建材有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 超声波反应釜【百科】-以马内利仪器 | 环保袋,无纺布袋,无纺布打孔袋,保温袋,环保袋定制,环保袋厂家,环雅包装-十七年环保袋定制厂家 | 安徽千住锡膏_安徽阿尔法锡膏锡条_安徽唯特偶锡膏_卡夫特胶水-芜湖荣亮电子科技有限公司 | 河南不锈钢水箱_地埋水箱_镀锌板水箱_消防水箱厂家-河南联固供水设备有限公司 | 包装机传感器-搅拌站传感器-山东称重传感器厂家-济南泰钦电气 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 中药二氧化硫测定仪,食品二氧化硫测定仪|俊腾百科 | 宿舍管理系统_智慧园区系统_房屋/房产管理系统_公寓管理系统 | 找培训机构_找学习课程_励普教育 | pbootcms网站模板|织梦模板|网站源码|jquery建站特效-html5模板网 | 冷却塔改造厂家_不锈钢冷却塔_玻璃钢冷却塔改造维修-广东特菱节能空调设备有限公司 |