【发布时间】:2017-05-25 20:19:12
【问题描述】:
使用简单的日期和值表:
+------------+-------+
| date | count |
+------------+-------+
| 2015-01-01 | 5 |
| 2015-01-02 | 2 |
| 2015-07-02 | 20 |
如何通过可能使用子选择和连接的单个 MySQL 查询获得所有月份作为列、天作为行的矩阵以及值?
+-----+----------+----------+---------
| Day | January | February | March...
+-----+----------+----------+---------
| 1 | 5 | 8 | 12
| 2 | 2 | 9 | 5
| 3 | 5 | 12 | 6
这是否可能,无需使用 PHP 或任何其他脚本工具?
这将用于可视化几个月的趋势和峰值。
【问题讨论】:
-
那一年呢?
-
@Shadow 这不是重复的。这个问题我们很清楚一年中有多少个月,早在编写查询之前。
-
@lc。重复问题的答案展示了静态和动态旋转。下次请先阅读重复的问题。
-
@Shadow 这个问题没有重复这个问题,特别是在措辞中“问题是我不知道我将拥有多少产品,因此列号需要根据行中的行动态更改产品表”。然而,答案确实也回答了这个问题,但这恰好是获得更大答案的第一步,您必须知道只提取特定的部分。
-
@lc。答案具体告诉您解决方案中哪个是静态部分,哪个是动态部分。但是,如果您坚持,这里还有一个:stackoverflow.com/questions/7674786/mysql-pivot-table 这里的问题并没有说列数是未知的。每天都会询问 mysql 中的数据透视表问题。我们真的不应该一遍又一遍地回答完全相同的问题。
标签: mysql pivot-table