MySQL可以使用PIVOT
函数实现行转列。
具体操作步骤如下:
- 使用
GROUP BY
将需要转置的列进行分组; - 使用
CASE WHEN
语句创建新的列名和值; - 使用
PIVOT
函数将新的列转置为行。
示例代码:
SELECT
id,
MAX(CASE WHEN name = 'name_1' THEN value END) AS name_1,
MAX(CASE WHEN name = 'name_2' THEN value END) AS name_2,
MAX(CASE WHEN name = 'name_3' THEN value END) AS name_3
FROM
table_name
GROUP BY
id;
其中,id
为原表中的主键,name
为需要转置的列名,value
为需要转置的值。name_1
、name_2
、name_3
为转置后的列名,可以根据实际情况修改。