mysql怎么設(shè)置行轉(zhuǎn)列 數(shù)據(jù)庫(kù)怎么行轉(zhuǎn)列

mysql通過逗號(hào)分隔符行轉(zhuǎn)列

把tags進(jìn)行分割,并和id關(guān)聯(lián)起來

創(chuàng)新互聯(lián)從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元青田做網(wǎng)站,已為上家服務(wù),為青田各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:18982081108

結(jié)果如圖:

t_num_tmp為中間表,內(nèi)容如下:

id的最大值為 len(tags分割后tag的數(shù)量)

通過t_num_tmp中間表把t_tags的一條記錄復(fù)制為n份,n為tags分割后tag的數(shù)量。

再在這n份記錄中, 通過對(duì)應(yīng)的循環(huán)值, 取到對(duì)應(yīng)的tag

mysql怎樣實(shí)現(xiàn)行轉(zhuǎn)列

就是一個(gè)動(dòng)態(tài)的行列轉(zhuǎn)換

CREATE TABLE `c_wssb_zz` (

`aa011` varchar(10) default NULL,

`aa001` varchar(20) default NULL,

`aa014` varchar(20) default NULL,

`aa015` varchar(200) default NULL,

`aab001` varchar(20) default NULL,

`aa010` varchar(30) default NULL,

`aae216` date default NULL,

`aa013` varchar(3) default NULL,

`aa016` varchar(10) default NULL,

`aae218` date default NULL,

`aab034` varchar(20) default NULL,

`aab901` varchar(255) default NULL

)

加入這是要轉(zhuǎn)換的表,表名不確定,作為一個(gè)參數(shù), aab001、AA011這兩個(gè)也不確定,也是參數(shù),顯示的結(jié)果把AA014這一列的內(nèi)容橫過來內(nèi)容,對(duì)應(yīng)AA015, 最后形成的數(shù)據(jù)格式如下

AAB034,AA011,AA001,AAB001,max(case when aa014='col1' then aa015 else '' end)as col1,max(case when aa014='col2' then aa015 else '' end)as col2,....max(case when aa014='colN' then aa015 else '' end)as colN,AAE216,AAE218,AA013,AA016

mysql列轉(zhuǎn)行(逗號(hào)分隔)

mysql查詢含逗號(hào)的數(shù)據(jù),將逗號(hào)拆分為多行展示:

原始數(shù)據(jù)如下:

現(xiàn)在因?yàn)樾碌男枨?,需要將這些數(shù)據(jù)轉(zhuǎn)化為如下形式:

假設(shè)我們需要處理的表結(jié)構(gòu)為:

使用如下sql語(yǔ)句即可實(shí)現(xiàn)需求:

查詢的主要思路為,原表與一個(gè)包含連續(xù)自增長(zhǎng)字段的表進(jìn)行join,得到字符串分隔后的索引值,其中 length( a.name ) - length( REPLACE ( a.name, ',', '' ) ) + 1 語(yǔ)句獲得字符串逗號(hào)分隔之后得到的數(shù)據(jù)長(zhǎng)度,兩表關(guān)聯(lián)之后,會(huì)得到相應(yīng)行數(shù)的數(shù)據(jù)。比如,

在join之后會(huì)得到:

之后對(duì)查詢中的結(jié)果,使用substring_index方法進(jìn)行截取,然后得到我們自己想要的數(shù)據(jù)。

MySQL行轉(zhuǎn)列與列轉(zhuǎn)行

建表:

新增數(shù)據(jù):

源數(shù)據(jù):

行轉(zhuǎn)列后:

建表:

新增數(shù)據(jù):

源數(shù)據(jù):

列轉(zhuǎn)行后:

網(wǎng)站欄目:mysql怎么設(shè)置行轉(zhuǎn)列 數(shù)據(jù)庫(kù)怎么行轉(zhuǎn)列
標(biāo)題路徑:http://muchs.cn/article18/hjcjgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、電子商務(wù)、面包屑導(dǎo)航品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化網(wǎ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)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司