MySql换行成列和列成行[重复]

MySql换行成列和列成行[重复],第1张

MySql换行成列和列成行[重复]

你可以这样

SELECt month,       MAX(CASE WHEN unit = 'CS-1' THEN value END) `CS-1`,       MAX(CASE WHEN unit = 'CS-2' THEN value END) `CS-2`,       MAX(CASE WHEN unit = 'CS-3' THEN value END) `CS-3`  FROM(  SELECt unit, month,         CASE month  WHEN 'JAN' THEN jan WHEN 'FEB' THEN feb WHEN 'MAR' THEN mar WHEN 'APR' THEN apr WHEN 'MAY' THEN may WHEN 'JUN' THEN jun         END value    FROM table1 t CROSS JOIN  (    SELECT 'JAN' month UNIOn ALL    SELECT 'FEB' UNIOn ALL    SELECT 'MAR' UNIOn ALL    SELECT 'APR' UNIOn ALL    SELECT 'MAY' UNIOn ALL    SELECT 'JUN'  ) c) q GROUP BY month ORDER BY FIELD(month, 'JAN', 'FEB', 'MAR', 'APR', 'MAY', 'JUN')

输出:

| MonTH | CS-1 | CS-2 | CS-3 || ------- | ------ | ------ || ------ || 一月 100 | 111 | 331 || 2月| 200 | 222 | 123 || MAR | 300 | 333 | 423 || 年利率| 400 | 444 | 923 || 五月| 500 | 555 | 918 || 俊| 600 | 666 | 123 |

这是 SQLFiddle 演示



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5014719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存