mysql行转列的sql语句怎么写

avatar
作者
筋斗云
阅读量:1

在MySQL中,可以使用以下方式将行转列:

  1. 使用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 value3 FROM   your_table GROUP BY   id; 
  1. 使用PIVOT函数(MySQL 8.0及以上版本支持):
SELECT   id,   value1,   value2,   value3 FROM   your_table PIVOT (   MAX(value)   FOR key IN (key1, key2, key3) ) AS p; 

这些语句假设你有一个表名为your_table,包含id、key和value列。你需要根据实际的表结构和数据进行调整。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!