我确定已经提出过这个问题,但我无法弄清楚Google的用途。
我有一个按订单日期和类型列出的大型啤酒购买数据库,如下所示:
order_date | beer_type
-----------
2014-01-04 | amber
2014-01-05 | lager
2014-04-01 | amber
有140万条记录,我希望将它们放入一个表中,将购买月份作为行,并将每种类型的数量作为列购买:
month | amber | lager | wheat
-----------------------------
1 | 2092 | 3030 | 990
2 | 1890 | 2025 | 1028
我对实际分组没有任何问题:
SELECT beer_type, MONTH(order_date) AS month, COUNT(*) AS count
FROM purchases
GROUP BY month,beer_type
ORDER BY month,beer_type ASC
但是,当然,这仍然给了我一个很长的双柱表,然后我必须自己嵌套。但我不想写一个查询,我必须手动输入所有beer_types。必须有一种简单的方法来嵌套这样的结果吗?