将MySQL GROUP BY查询的结果作为列返回

时间:2015-04-28 15:18:06

标签: mysql nested

我确定已经提出过这个问题,但我无法弄清楚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。必须有一种简单的方法来嵌套这样的结果吗?

0 个答案:

没有答案