Mysql 如何从选择结果将行转换为列

Mysql 如何从选择结果将行转换为列,mysql,Mysql,我在执行sql查询后得到了这个select结果 +-----------+-------+-----------+ | COL1 | COL2 | COL3 | +-----------+-------+-----------+ | project1 | FAM1 | 1250.251 | | project1 | FAM2 | 2145.325 | | project2 | FAM1 | 2146.152 | | project2 | FAM2 |

我在执行sql查询后得到了这个select结果

+-----------+-------+-----------+
| COL1      | COL2  | COL3      |
+-----------+-------+-----------+
| project1  | FAM1  | 1250.251  |
| project1  | FAM2  | 2145.325  |
| project2  | FAM1  | 2146.152  |
| project2  | FAM2  | NULL      |
| project3  | FAM1  | NULL      |
| project3  | FAM2  | 1248.002  |
| project4  | FAM1  | NULL      |
| project4  | FAM2  | NULL      |
| project5  | FAM1  | 3201.684  |
| project5  | FAM2  | 7325.981  |
我想转换成这种格式

+-----------+-----------+-------------+-----------+
| COL1      | FAM1      | FAM2        |COL3       |
+-----------+-----------+-------------+-----------+
| project1  | 1250.251  | 2145.325    | 3395.576  |
| project2  | 2146.152  | 0.0         | 2146.152  |
| project3  | 0.0       | 1248.002    | 1248.002  |
| project4  | 0.0       | 0.0         | 0.0       |
| project5  | 3201.684  | 7325.981    | 10527.665 |

用冗余和COL3转换COL2到多个COLM3是FAM1和FAM2

的总和:检查这个:考虑在表示层/应用层代码中处理数据显示的问题,假设你有这个问题(例如,一个简单的PHP循环作用于有序数组)检查这一点:考虑在演示层/应用程序级代码中处理数据显示的问题,假设你有这个问题(例如,一个简单的PHP循环作用于有序数组)。