来自:mysql技术内幕 姜承尧
旋转及聚合技术,
表:id attname value ...(类型..)
1 a1 v1
2 a1 v2
3 a1 v3
1 a2 va21
3 a3 va31
2 a2 va22
1 a3 va32
--------------------------------------------->>>>>>>>> a1 a2 a3
1 v1 va21 va32
2 v2 va22 null
3 v3 null va31
select id,
max(case when attname=‘a1’ then value end) as a1,
max(case when attname=‘a2’ then value end) as a2,
max(case when attname=‘a3’ then value end) as a3
from t
group by id;
本文介绍了MySQL中一种实用的数据转换方法——旋转查询,并通过具体示例展示了如何使用CASE WHEN语句实现数据从行到列的转换,适用于需要将重复字段的数据进行聚合处理的情况。
760

被折叠的 条评论
为什么被折叠?



