我有这个MySQL数据库表:
+----+------------+---------+
| id | pdate | product |
+----+------------+---------+
| 1 | 2015-10-12 | BOX |
| 2 | 2015-10-12 | SHOE |
| 3 | 2015-10-12 | PEN |
| 4 | 2015-10-12 | BOX |
| 5 | 2015-10-19 | BOX |
| 6 | 2015-10-12 | SHOE |
| 7 | 2015-10-19 | SHOE |
| 8 | 2015-10-19 | PEN |
| 9 | 2015-10-19 | WATCH |
| 10 | 2015-10-26 | WATCH |
| 11 | 2015-10-26 | SHOE |
+----+------------+---------+
列产品是动态列,我事先不知道哪些产品在此列中。而pdate专栏也会随着时间的推移而增长,因此我事先并不知道周数。
我想获得以下输出:
+-----------------+-------+-------+
| product | WK 42 | WK 43 | WK 44 |
+-----------------+-------+-------+
| BOX | 2 | 1 | 0 |
| SHOE | 2 | 1 | 1 |
| PEN | 1 | 1 | 0 |
| WATCH | 0 | 1 | 1 |
+-----------------+-------+-------+
我想计算每个产品每周的记录数。
我知道我需要对MySQL Pivot表/查询做一些事情,但我现在完全陷入困境。如何解决这一挑战?
这不是一个重复的问题,因为另一个主题是在两个不同的表上,这是关于单个表上的数据透视查询。这是一种不同的情况。