MySQL - 如何將列轉換為行?
P粉533898694
P粉533898694 2023-07-24 23:17:01
0
1
517


ID | a | b | c 1 | a1 | b1 | c1 2 | a2 | b2 | c2

如何將行重新組織為ID,列標題,值?

1 | a1 | a 1 | b1 | b 1 | c1 | c 2 | a2 | a 2 | b2 | b 2 | c2 | c


P粉533898694
P粉533898694

全部回覆 (1)
P粉511896716

您正在嘗試對資料進行反轉。 MySQL沒有反轉函數,因此您需要使用UNION ALL查詢將列轉換為行:

select id, 'a' col, a value from yourtable union all select id, 'b' col, b value from yourtable union all select id, 'c' col, c value from yourtable

SeeSQL Fiddle with Demo.

這也可以使用CROSS JOIN來實現:

select t.id, c.col, case c.col when 'a' then a when 'b' then b when 'c' then c end as data from yourtable t cross join ( select 'a' as col union all select 'b' union all select 'c' ) c

SeeSQL Fiddle with Demo

    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!