這篇文章主要介紹“MySQL怎么把列數(shù)據(jù)轉(zhuǎn)成行數(shù)據(jù)”,在日常操作中,相信很多人在MySQL怎么把列數(shù)據(jù)轉(zhuǎn)成行數(shù)據(jù)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”MySQL怎么把列數(shù)據(jù)轉(zhuǎn)成行數(shù)據(jù)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:主機域名、網(wǎng)絡(luò)空間、營銷軟件、網(wǎng)站建設(shè)、儋州網(wǎng)站維護、網(wǎng)站推廣。
開發(fā)同學(xué)讓我?guī)兔纯匆粋€數(shù)據(jù)怎么錄合適。
原始的數(shù)據(jù)如下,要錄入到數(shù)據(jù)庫里。
先取消Excel的單元格合并.
刪除第一行和第二行的數(shù)據(jù),這些都是標(biāo)題.
然后導(dǎo)出CSV文件,
使用文本文件編輯器打開CSV,替換 - 為 ,
然后 德塔貝斯 建個表。
再將CSV數(shù)據(jù)導(dǎo)入.
insert into target(channel,d,program,starttime,endtime)
select '中國之聲',1,d1,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d1, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d1 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d1,rank
union all
select '中國之聲',2,d2,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d2, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d2 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d2,rank
union all
select '中國之聲',3,d3,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d3, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d3 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d3,rank
union all
select '中國之聲',4,d4,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d4, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d4 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d4,rank
union all
select '中國之聲',5,d5,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d5, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d5 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d5,rank
union all
select '中國之聲',6,d6,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d6, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d6 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d6,rank
union all
select '中國之聲',7,d7,min(starttime),max(endtime) from (
SELECT @gid := @cgid, @cgid := t.d7, if(@gid = @cgid, @rank,@rank := @rank + 1) AS rank, t.* from
(select id,starttime,endtime,d7 from t order by id) t ,(SELECT @gid := 1, @cgid := 1, @rank := 0) t2
) t4 group by d7,rank;
查看結(jié)果
這個方法看著步驟比較多,其實還是很省事兒的.
主要的工作就是把Excel導(dǎo)入數(shù)據(jù)庫,導(dǎo)入之后的合并,使用同一個SQL改改就好。沒啥工作量。
否則使用JAVA解析,還需要自己合并時間段.也不是一個輕松的事情.
到此,關(guān)于“MySQL怎么把列數(shù)據(jù)轉(zhuǎn)成行數(shù)據(jù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站標(biāo)題:MySQL怎么把列數(shù)據(jù)轉(zhuǎn)成行數(shù)據(jù)
鏈接分享:http://weahome.cn/article/jicsdp.html