mysql將多行變成多列的方法:首先在原表中查詢數(shù)據(jù);然后將多行數(shù)據(jù)合并到同一列或不同列即可,如【select name ,group_concat(sore Separator ‘;’) as score from stu group by name】。
MySQL中的行列變換
(視頻教程推薦:mysql視頻教程)
mysql 行列轉(zhuǎn)換 ,在項目中應(yīng)用的極其頻繁,尤其是一些金融項目里的報表。其中最為頭痛的就是多行轉(zhuǎn)多列,動態(tài)的列行轉(zhuǎn)換。最近在研究這些行里轉(zhuǎn)換,還是從最為簡單的行列轉(zhuǎn)換開始。
首先示例數(shù)據(jù)原表如下:
【多行變一列】(合并后的數(shù)據(jù)在同一列上):
select?name?,group_concat(sore?Separator?';')?as?score?from?stu?group?by?name
【多行變多列】(合并后的數(shù)據(jù)在不同列上):
SELECT?name?, MAX(CASE?type?WHEN?'數(shù)學(xué)'?THEN?score?ELSE?0?END?)?math, MAX(CASE?type?WHEN?'英語'?THEN?score?ELSE?0?END?)?English?, MAX(CASE?type?WHEN?'語文'?THEN?score?ELSE?0?END?)?Chinese? FROM?stu?? GROUP?BY?name
? 版權(quán)聲明
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載。
THE END
喜歡就支持一下吧
相關(guān)推薦