mysql转置不求和
时间: 2023-07-28 11:13:45 浏览: 82
matlab pro_转置_源码
可以使用MySQL的PIVOT语句来实现转置,不求和的操作可以在转置后再进行。
下面是一个示例代码:
```mysql
SELECT
`name`,
MAX(CASE WHEN `month` = 'Jan' THEN `value` ELSE NULL END) AS `Jan`,
MAX(CASE WHEN `month` = 'Feb' THEN `value` ELSE NULL END) AS `Feb`,
MAX(CASE WHEN `month` = 'Mar' THEN `value` ELSE NULL END) AS `Mar`,
MAX(CASE WHEN `month` = 'Apr' THEN `value` ELSE NULL END) AS `Apr`,
MAX(CASE WHEN `month` = 'May' THEN `value` ELSE NULL END) AS `May`,
MAX(CASE WHEN `month` = 'Jun' THEN `value` ELSE NULL END) AS `Jun`,
MAX(CASE WHEN `month` = 'Jul' THEN `value` ELSE NULL END) AS `Jul`,
MAX(CASE WHEN `month` = 'Aug' THEN `value` ELSE NULL END) AS `Aug`,
MAX(CASE WHEN `month` = 'Sep' THEN `value` ELSE NULL END) AS `Sep`,
MAX(CASE WHEN `month` = 'Oct' THEN `value` ELSE NULL END) AS `Oct`,
MAX(CASE WHEN `month` = 'Nov' THEN `value` ELSE NULL END) AS `Nov`,
MAX(CASE WHEN `month` = 'Dec' THEN `value` ELSE NULL END) AS `Dec`
FROM `table_name`
GROUP BY `name`;
```
这个示例代码假设有一个表名为`table_name`,其中包含`name`、`month`和`value`三个字段。`name`字段表示数据的名称,`month`字段表示月份,`value`字段表示对应的值。这个代码将数据按照名称进行分组,然后利用PIVOT语句将月份转置为列名,每个月份对应的值作为该列的数值。同时,使用了MAX函数来消除转置后可能出现的重复数据,以保证结果正确。
阅读全文