成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

mysql表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換

本文主要給大家簡(jiǎn)單講講MySQL表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望mysql表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換這篇文章可以給大家?guī)硪恍?shí)際幫助。
1.行轉(zhuǎn)列
CREATE TABLE `option` ( `category_id` int(10) unsigned NOT NULL COMMENT '分類id', `name` varchar(20) NOT NULL COMMENT '名稱', KEY `category_id` (`category_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `option` (`category_id`, `name`) VALUES
(1, '大'),
(1, '中'),
(1, '小'),
(2, '奔馳'),
(2, '寶馬'),
(3, '2015'),
(3, '2016'),
(3, '2017'),
(3, '2018'),
(4, '1m'),
(4, '2m');mysql> select * from `option`;
+-------------+--------+| category_id | name   |
+-------------+--------+|           1 | 大     |
|           1 | 中     |
|           1 | 小     |
|           2 | 奔馳   |
|           2 | 寶馬   |
|           3 | 2015   |
|           3 | 2016   |
|           3 | 2017   |
|           3 | 2018   |
|           4 | 1m     ||           4 | 2m     |
+-------------+--------+
+-------------+---------------------+| category_id | name                |
+-------------+---------------------+|           1 | 大,中,小            |
|           2 | 奔馳,寶馬           |
|           3 | 2015,2016,2017,2018 ||           4 | 1m,2m               |
+-------------+---------------------+
 
執(zhí)行結(jié)果:
mysql> select category_id,group_concat(name) as name from `option` group by category_id order by category_id;
+-------------+---------------------+| category_id | name                |
+-------------+---------------------+|           1 | 大,中,小            |
|           2 | 奔馳,寶馬           |
|           3 | 2015,2016,2017,2018 ||           4 | 1m,2m               |
+-------------+---------------------+
2.列轉(zhuǎn)行
CREATE TABLE `option2` ( `category_id` int(10) unsigned NOT NULL COMMENT '分類id', `name` varchar(100) NOT NULL COMMENT '名稱集合') ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO `option2` (`category_id`, `name`) VALUES
(1, '大,中,小 '),
(2, '奔馳,寶馬'),
(3, '2015,2016,2017,2018'),
(4, '1m,2m');mysql> select * from `option2`;
+-------------+---------------------+| category_id | name                |
+-------------+---------------------+|           1 | 大,中,小            |
|           2 | 奔馳,寶馬           |
|           3 | 2015,2016,2017,2018 ||           4 | 1m,2m               |
+-------------+---------------------+
+-------------+--------+| category_id | name   |
+-------------+--------+|           1 | 大     |
|           1 | 中     |
|           1 | 小     |
|           2 | 奔馳   |
|           2 | 寶馬   |
|           3 | 2015   |
|           3 | 2016   |
|           3 | 2017   |
|           3 | 2018   |
|           4 | 1m     ||           4 | 2m     |
+-------------+--------+
select a.category_id,substring_index(substring_index(a.name,',',b.category_id),',',-1) as name from `option2` as ajoin `option2` as b on b.category_id<=(length(a.name) - length(replace(a.name,',',''))+1)order by a.category_id,b.category_id;
mysql> select a.category_id,substring_index(substring_index(a.name,',',b.category_id),',',-1) as name from `option2` as a    -> join `option2` as b on b.category_id<=(length(a.name) - length(replace(a.name,',',''))+1)    -> order by a.category_id,b.category_id;
+-------------+--------+| category_id | name   |
+-------------+--------+|           1 | 大     |
|           1 | 中     |
|           1 | 小     |
|           2 | 奔馳   |
|           2 | 寶馬   |
|           3 | 2015   |
|           3 | 2016   |
|           3 | 2017   |
|           3 | 2018   |
|           4 | 1m     ||           4 | 2m     |
+-------------+--------+
mysql表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換就先給大家講到這里,對(duì)于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都微信小程序、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了加格達(dá)奇免費(fèi)建站歡迎大家使用!

創(chuàng)建測(cè)試數(shù)據(jù)表及數(shù)據(jù)

行轉(zhuǎn)列后,期望得到以下結(jié)果

行轉(zhuǎn)列,可以使用group_concat()函數(shù)結(jié)合group by實(shí)現(xiàn)。

group_concat()函數(shù)可以得到表達(dá)式結(jié)合體的連結(jié)值,默認(rèn)分隔符為逗號(hào),可以通過separator設(shè)置為其他分隔符。

注意:group_concat()函數(shù)對(duì)返回的結(jié)果有長(zhǎng)度限制,默認(rèn)為1024字節(jié),不過對(duì)于正常的情況已經(jīng)足夠。

關(guān)于group_concat()函數(shù)的使用可以參考我之前的文章:《mysql函數(shù)concat與group_concat使用說明》

創(chuàng)建測(cè)試數(shù)據(jù)表及數(shù)據(jù)

列轉(zhuǎn)行后,期望得到以下結(jié)果

列轉(zhuǎn)行比行轉(zhuǎn)列復(fù)雜,對(duì)于列內(nèi)容是用分隔符分隔的數(shù)據(jù),我們可以使用substring_index()函數(shù)進(jìn)行分割輸出,并結(jié)合笛卡爾積來實(shí)現(xiàn)循環(huán)。

mysql表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換就先給大家講到這里,對(duì)于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。

當(dāng)前標(biāo)題:mysql表數(shù)據(jù)行列如何實(shí)現(xiàn)轉(zhuǎn)換
當(dāng)前路徑:http://jinyejixie.com/article26/iishjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計(jì)域名注冊(cè)、響應(yīng)式網(wǎng)站虛擬主機(jī)、定制網(wǎng)站、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
和硕县| 垦利县| 长春市| 新平| 鹿泉市| 永德县| 嘉义市| 平陆县| 永新县| 赣州市| 郎溪县| 白山市| 阳原县| 柯坪县| 广汉市| 富阳市| 长白| 边坝县| 岱山县| 肃北| 义乌市| 九龙县| 黑河市| 盐源县| 巴马| 库伦旗| 漳浦县| 青神县| 南开区| 芜湖市| 深圳市| 堆龙德庆县| 腾冲县| 卢龙县| 湘西| 叶城县| 延安市| 宽甸| 黔南| 梁河县| 益阳市|