在MySQL中,可以使用以下方式将行转列:
使用CASE语句和聚合函数:SELECT id, MAX(CASE WHEN key = 'key1' THEN value END) AS value1, MAX(CASE WHEN key = 'key2' THEN value END) AS value2, MAX(CASE WHEN key = 'key3' THEN value END) AS value3FROM your_tableGROUP BY id;
使用PIVOT函数(MySQL 8.0及以上版本支持):SELECT id, value1, value2, value3FROM your_tablePIVOT ( MAX(value) FOR key IN (key1, key2, key3)) AS p;
这些语句假设你有一个表名为your_table
,包含id、key和value列。你需要根据实际的表结构和数据进行调整。