首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL动态数据透视表

问MySQL动态数据透视表
EN

Stack Overflow用户
提问于 2015-08-19 22:55:12
回答 2查看 96关注 0票数 0

我已经将我的数据简化为类似以下内容:

代码语言:javascript
复制
+---------+-----+--------+
| item  | type  | color  |
+-------+-------+--------+
|   1   |   A   | red    |
|   1   |   B   | blue   |
|   2   |   A   | orange |
|   2   |   B   | pink   |
|   2   |   C   | blue   |
|   3   |   B   | yellow |
+---------+-----+--------+

每个项目的‘类型’的数量是可变的,因此,我需要一个MySQL透视解决方案,是动态的,可以处理任何数量的类型。下面是我需要从MySQL查询返回的结果集类型。如您所见,我不需要汇总计算。

代码语言:javascript
复制
+---------+------+--------+--------+
| item  |   A    |   B    |   C    |
+-------+--------+--------+--------+
|   1   | red    | blue   |        | 
|   2   | orange | pink   | blue   |
|   3   |        | yellow |        |
+-------+--------+--------+--------+

我怀疑解决方案可能涉及到使用MySQL过程?

EN

回答 2

Stack Overflow用户

发布于 2015-08-19 23:13:36

代码语言:javascript
复制
select item, min(A), min(B), min(C) from (
    select item, 
        case when type = 'A' then color end as 'A',
        case when type = 'B' then color end as 'B',
        case when type = 'C' then color end as 'C'
    from color
) as tbl
group by item
票数 0
EN

Stack Overflow用户

发布于 2015-08-20 02:22:19

你在“旋转”。在中,我提供了一个通用存储过程来为您生成SELECT语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32098981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档