MySQL COUNT()GROUP BY子查询(?)计算每月多个项目的购买量

时间:2011-09-20 21:33:43

标签: mysql sql count group-by subquery

我正在使用MySQL,我想计算购买每件商品的月份购买多件商品的数量。我的表名为“items_purchased”,项目按“item_id”列出,购买日期是名为“purchase_date”的时间戳。

这是我到目前为止的查询:

SELECT items_purchased.item_id, items_purchased.purchase_date, 
DATE_FORMAT(DATE(purchase_date), '%m %y') AS monthYear FROM items_purchased 

简明英语的结果将是这样的:

item_id = 3:2 2011年6月购买,2011年7月购买3件 item_id = 2:1 2011年6月购买,2011年7月购买7次

任何帮助我帮助我弄清楚如何做适当的COUNT()和/或GROUP BY语句(或我可能需要的任何其他)来确定每个item_id的每月购买将不胜感激!

谢谢你, 蒂姆

1 个答案:

答案 0 :(得分:1)

SELECT YEAR(purchase_date) as year, DATE_FORMAT(purchase_date, '%M') as month, COUNT(item_id) as cnt
FROM items_purchased
GROUP BY YEAR(purchase_date), MONTH(purchase_date)
ORDER BY year, month, cnt

如果您想要per-itemID计数,请将“item_id”添加到GROUP BY子句的末尾。这只是计算在任何给定的年/月中出现的itemID数量,但不会将每个项目分解出来。