set @i =0;
荔波網站建設公司創新互聯,荔波網站設計制作,有大型網站制作公司豐富經驗。已為荔波千余家提供企業網站建設服務。企業網站搭建\外貿網站建設要多少錢,請找那個售后服務好的荔波做網站的公司定做!
create table 新表
AS
select @i:=@i+1 as NO,NO1,NO2,NO3,MYA1 as MM
from(
select NO1,NO2,'MYA1 ' as NO3,MYA1 from 表
union all
select NO1,NO2,'MYA2 ',MYA2 from 表
union all
select NO1,NO2,'MYA3 ',MYA3 from 表
union all
select NO1,NO2,'MYA4 ',MYA4 from 表
union all
select NO1,NO2,'MYA5 ',MYA5 from 表
union all
select NO1,NO2,'MYA6 ',MYA6 from 表
)a order by NO1,NO2;
select * from 新表;
就是一個動態的行列轉換
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
)
加入這是要轉換的表,表名不確定,作為一個參數, aab001、AA011這兩個也不確定,也是參數,顯示的結果把AA014這一列的內容橫過來內容,對應AA015, 最后形成的數據格式如下
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 行列轉置可以
select name,
sum(if(subject='語文',grade,0) as 語文, sum(if(subject='數學',grade,0) as 數學,
sum(if(subject='英語',grade,0) as 英語
from scores
1. 利用SUM(IF()) 生成列 + WITH ROLLUP 生成匯總行,并利用 IFNULL將匯總行標題顯示...
2. 利用SUM(IF()) 生成列 + UNION 生成匯總行,并利用 IFNULL將匯總行標題顯示為 Tot...
3. 利用SUM(IF()) 生成列,直接生成結果不再利用子查詢 ...
4. 動態,適用于列不確定情況
新聞名稱:mysql怎么進行列轉置,mysql行轉列和列轉行
鏈接URL:http://m.kartarina.com/article40/hddoeo.html
成都網站建設公司_創新互聯,為您提供軟件開發、云服務器、動態網站、微信公眾號、小程序開發、外貿建站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯