在MySQL中,没有内置的PIVOT函数。但是,可以使用CASE语句来实现类似的效果。
下面是一个示例,展示如何使用CASE语句来实现PIVOT功能:
SELECT
id,
MAX(CASE WHEN category = 'A' THEN value END) AS A,
MAX(CASE WHEN category = 'B' THEN value END) AS B,
MAX(CASE WHEN category = 'C' THEN value END) AS C
FROM
your_table
GROUP BY id;
在上面的示例中,假设你有一个名为your_table的表,其中包含三个列:id、category和value。你想根据id对数据进行聚合,并将category的值作为列名,value的值作为列值。
在SELECT子句中,使用CASE语句来创建列。在CASE语句中,当category等于特定值时,返回value的值,否则返回NULL。最后,使用GROUP BY子句按id进行分组。
请确保将your_table替换为你的实际表名,并根据需要调整列名和条件。