亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)

MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)

熱門標(biāo)簽:信陽穩(wěn)定外呼系統(tǒng)運營商 南通自動外呼系統(tǒng)軟件 湖南人工外呼系統(tǒng)多少錢 石家莊電商外呼系統(tǒng) 百度地圖圖標(biāo)標(biāo)注中心 申請外呼電話線路 日照旅游地圖標(biāo)注 芒果電話機(jī)器人自動化 廣東人工電話機(jī)器人

前言

有時會遇到?jīng)]有遵守第一范式設(shè)計模式的業(yè)務(wù)表。即一列中存儲了多個屬性值。如下表

pk value
1 ET,AT
2 AT,BT
3 AT,DT
4 DT,CT,AT

一般有這兩種常見需求(測試數(shù)據(jù)見文末)

1.得到所有的不重復(fù)的值,如

value
AT
BT
CT
DT
ET

SQL如下:

select distinct(substring_index(substring_index(a.col,',',b.help_topic_id+1),',',-1))
from
 (select group_concat(distinct `value`) as col from `row_to_col`) as a
join
 mysql.help_topic as b
on b.help_topic_id  (char_length(a.col) - char_length(replace(a.col,',',''))+1)

2.顯示每個值及其對應(yīng)主鍵,如

pk value
1 ET
1 AT
2 AT
2 BT
3 AT
3 DT
4 DT
4 CT
4 AT

SQL如下:

select a.pk,substring_index(substring_index(a.col,',',b.help_topic_id+1),',',-1)
from
 (select `value` as col,pk from `row_to_col`) as a
join
 mysql.help_topic as b
on b.help_topic_id  (char_length(a.col) - char_length(replace(a.col,',',''))+1)

實現(xiàn)思路:

需求1:

1. 通過group_concat函數(shù)將value列的值拼接成一個逗號隔開的字符串,然后通過substring_index函數(shù)對字符串進(jìn)行截取
2. 通過substring_index函數(shù)特性,我們就需要知道字符串有多少個逗號,并且要告訴每個逗號的位置
3. 逗號個數(shù)=char_length(字符串)-char_length(replace(字符串,',',''))
4. 逗號位置=mysql.help_topic.id 逗號個數(shù)[+1]
5. 最后通過distinct函數(shù)將截取后的單個值進(jìn)行去重

注意:
1. mysql.help_topic表的自增id是從0開始,所以在進(jìn)行截取時要對id進(jìn)行+1。見: substring_index(a.col,',',b.help_topic_id+1)
2. value列最后一個字符不是逗號時:逗號個數(shù)+1是為了截取時不漏掉最后一個逗號后的值,即: char_length(a.col) - char_length(replace(a.col,',',''))+1;
value列最后一個字符是逗號時:逗號個數(shù)就不需要+1了,直接:char_length(a.col) - char_length(replace(a.col,',',''))
3. 因為截取時id要+1,所以在連接時取的 ,而不是 = 。見:b.help_topic_id (char_length(a.col) - char_length(replace(a.col,',',''))[+1])
4. mysql.help_topic(mysql version: 5.7.21-1)表的自增id,最大值為636。如果group_concat后的字符串中逗號個數(shù)大于該值,需要自己單獨處理自增id的值

需求2:思路基本與需求1同,只是最后的查詢不一樣

涉及到的函數(shù):

length:返回字符串所占的字節(jié)數(shù),是計算字段的長度。一個漢字或是中文符號是算三個字符,一個數(shù)字或字母或英文符號算一個字符。
char_length:返回字符串所占的字符數(shù),不管漢字還是數(shù)字或者是字母或者符號(不分中英文)都算是一個字符。
replace(str,old_string,new_string): 將字符串中str中所有的old_string替換成new_string。
substring_index(被截取字段,關(guān)鍵字,關(guān)鍵字出現(xiàn)的次數(shù)):截取字符串。如果關(guān)鍵字出現(xiàn)的次數(shù)是負(fù)數(shù) , 則是從后倒數(shù),到字符串結(jié)束。
group_concat([DISTINCT] 要連接的字段(可多個,逗號隔開) [Order BY 排序字段 ASC/DESC] [Separator '分隔符']):
 將group by產(chǎn)生的同一個分組中的值連接起來,返回一個字符串結(jié)果。分隔符,默認(rèn)逗號。

 測試數(shù)據(jù):

DROP TABLE IF EXISTS `row_to_col`;
CREATE TABLE `row_to_col` (
 `pk` int(11) NOT NULL AUTO_INCREMENT,
 `value` varchar(255) DEFAULT NULL,
 PRIMARY KEY (`pk`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;

INSERT INTO `row_to_col` VALUES ('1', 'ET,AT');
INSERT INTO `row_to_col` VALUES ('2', 'AT,BT');
INSERT INTO `row_to_col` VALUES ('3', 'AT,DT');
INSERT INTO `row_to_col` VALUES ('4', 'DT,CT,AT');

參考:
https://blog.csdn.net/liuzhoulong/article/details/51729168
https://blog.csdn.net/ldl22847/article/details/47609727

到此這篇關(guān)于MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)的文章就介紹到這了,更多相關(guān)MYSQL 逗號分割行轉(zhuǎn)列內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 當(dāng)Mysql行鎖遇到復(fù)合主鍵與多列索引詳解
  • Mysql 相鄰兩行記錄某列的差值方法
  • mysql指定某行或者某列的排序?qū)崿F(xiàn)方法
  • mysql 列轉(zhuǎn)行,合并字段的方法(必看)
  • mysql列轉(zhuǎn)行以及年月分組實例
  • mysql 列轉(zhuǎn)行的技巧(分享)
  • mysql 行轉(zhuǎn)列和列轉(zhuǎn)行實例詳解
  • mysql 行列動態(tài)轉(zhuǎn)換的實現(xiàn)(列聯(lián)表,交叉表)
  • 數(shù)據(jù)庫實現(xiàn)行列轉(zhuǎn)換(mysql示例)
  • MySQL 中行轉(zhuǎn)列的方法

標(biāo)簽:天津 牡丹江 合肥 公主嶺 呼和浩特 阿里 沈陽 惠州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)》,本文關(guān)鍵詞  MySQL,中將,一列,以,逗號,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)》相關(guān)的同類信息!
  • 本頁收集關(guān)于MySQL中將一列以逗號分隔的值行轉(zhuǎn)列的實現(xiàn)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    97视频免费在线| 国产原创视频在线| 美女免费精品高清毛片在线视| 欧美爱色| 深夜做爰性大片中文| 久久国产影院| 日本乱中文字幕系列| 免费的黄色小视频| 国产高清在线精品一区a| 日日日夜夜操| 美女免费黄网站| 欧美大片aaaa一级毛片| 91麻豆精品国产高清在线| 国产成人精品在线| 国产福利免费视频| 国产91视频网| 国产美女在线一区二区三区| 天天做人人爱夜夜爽2020| 日本在线不卡视频| 久久精品免视看国产成人2021| 天堂网中文字幕| 国产福利免费视频| 韩国三级香港三级日本三级la| 99久久精品国产麻豆| 韩国三级香港三级日本三级| 麻豆网站在线看| 毛片电影网| 色综合久久天天综合| 尤物视频网站在线| 国产不卡福利| 香蕉视频一级| 欧美a级大片| 一级毛片视频在线观看| 亚洲爆爽| 天天色成人| 日韩男人天堂| 日韩中文字幕在线观看视频| 国产91视频网| 精品国产亚洲人成在线| 日韩av成人| 91麻豆精品国产高清在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品在线视频播放| 国产精品自拍亚洲| 成人高清免费| 欧美1卡一卡二卡三新区| 国产国产人免费视频成69堂| 亚久久伊人精品青青草原2020| 国产成人精品在线| 日本伦理网站| 日本在线www| 成人av在线播放| 一级毛片视频在线观看| 九九九在线视频| 国产91精品一区| 欧美一区二区三区性| 99久久网站| 亚洲第一色在线| 亚欧视频在线| 99热精品一区| 亚洲天堂在线播放| 精品国产一区二区三区国产馆| 成人影院一区二区三区| 亚洲天堂在线播放| 亚欧乱色一区二区三区| 国产国语对白一级毛片| 日韩免费片| 成人a大片高清在线观看| 黄视频网站在线看| 国产精品1024永久免费视频 | 九九免费精品视频| 午夜欧美福利| 亚洲爆爽| 97视频免费在线| a级毛片免费观看网站| 韩国毛片 免费| 二级片在线观看| 欧美另类videosbestsex久久| 欧美a免费| 精品视频在线观看免费| 亚洲天堂在线播放| 九九干| 你懂的福利视频| 91麻豆爱豆果冻天美星空| 国产不卡福利| 亚洲 欧美 91| 欧美另类videosbestsex高清| 欧美另类videosbestsex高清| 中文字幕97| 麻豆网站在线看| 青青久久精品国产免费看| 欧美另类videosbestsex视频| 九九精品久久久久久久久| 日本特黄特色aaa大片免费| 国产伦精品一区二区三区在线观看| 九九免费精品视频| 天堂网中文字幕| 亚洲天堂免费| 欧美大片毛片aaa免费看| 久久99青青久久99久久| 99久久精品国产麻豆| 国产伦精品一区二区三区在线观看| 精品国产一区二区三区久久久狼| 久久成人亚洲| 欧美电影免费看大全| 精品视频在线观看一区二区| 亚洲精品中文字幕久久久久久| 欧美激情一区二区三区中文字幕| 免费一级片网站| 天天做日日干| 欧美另类videosbestsex视频| 国产极品精频在线观看| 欧美国产日韩久久久| 999久久狠狠免费精品| 欧美激情一区二区三区视频高清| 日韩专区在线播放| 免费国产在线视频| 成人高清视频在线观看| 欧美另类videosbestsex高清| 久久精品人人做人人爽97| 午夜激情视频在线播放| 九九久久99综合一区二区| 青青久在线视频| 日本免费看视频| 高清一级做a爱过程不卡视频| 精品国产一区二区三区久久久蜜臀| 欧美激情中文字幕一区二区| a级毛片免费全部播放| 天堂网中文字幕| 亚洲 欧美 91| 韩国三级香港三级日本三级la| 四虎影视久久| 欧美激情中文字幕一区二区| 尤物视频网站在线观看| 二级片在线观看| 国产网站麻豆精品视频| 精品在线免费播放| 精品国产香蕉伊思人在线又爽又黄| 精品久久久久久中文| 韩国三级一区| 精品视频一区二区三区| 国产一区二区精品| 欧美a级片视频| 国产成+人+综合+亚洲不卡| 日韩免费在线视频| 一级女性全黄久久生活片| 欧美一级视频免费观看| 欧美爱爱动态| 国产麻豆精品视频| 日韩专区一区| 日本特黄特黄aaaaa大片| 国产韩国精品一区二区三区| 四虎影视精品永久免费网站| 午夜精品国产自在现线拍| 中文字幕97| 日韩免费在线观看视频| 精品视频免费看| 国产亚洲精品成人a在线| 免费一级生活片| 免费国产在线观看| 韩国三级一区| 欧美电影免费| 中文字幕一区二区三区精彩视频 | 欧美另类videosbestsex视频| 国产91精品一区二区| 中文字幕Aⅴ资源网| 欧美一级视频免费| 欧美激情一区二区三区视频高清| 亚洲不卡一区二区三区在线 | 91麻豆精品国产自产在线| 99色视频在线观看| 久久99青青久久99久久| 国产视频久久久久| 日韩中文字幕在线播放| 亚洲精品影院| 日日日夜夜操| 亚洲天堂在线播放| 欧美激情一区二区三区在线播放| 精品国产亚洲一区二区三区| 沈樵在线观看福利| 欧美电影免费看大全| 欧美一级视频免费| 日韩一级黄色| 免费的黄视频| 你懂的福利视频| 中文字幕一区二区三区精彩视频 | 黄色免费三级| 午夜在线亚洲| 欧美大片a一级毛片视频| 国产网站麻豆精品视频| 国产成人精品在线| 91麻豆tv| 999精品视频在线| 免费一级片在线观看| 亚洲 激情| 成人a大片在线观看| 欧美激情一区二区三区在线| 国产不卡高清在线观看视频| 毛片成人永久免费视频| 成人高清免费|