在MySQL中,行转列(Pivot)是一种将行数据转换为列数据的操作,这在数据分析和报表生成中非常常见。由于MySQL没有内置的PIVOT功能,我们通常需要使用其他方法来实现行转列。以下是一些常用的行转列方法:
- 使用
CASE WHEN
或IF
语句结合聚合函数:
SELECT
userid,
MAX(CASE WHEN subject = '语文' THEN score ELSE NULL END) AS '语文',
MAX(CASE WHEN subject = '数学' THEN score ELSE NULL END) AS '数学',
MAX(CASE WHEN subject = '英语' THEN score ELSE NULL <