【问题标题】:MySQL COUNT() GROUP BY subquery(?) to count purchases on multiple items per monthMySQL COUNT() GROUP BY 子查询(?) 计算每月购买多个项目
【发布时间】:2011-11-21 11:12:24
【问题描述】:

我正在使用 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:2011 年 6 月购买了 2 次,2011 年 7 月购买了 3 次
item_id=2:2011 年 6 月购买 1 次,2011 年 7 月购买 7 次

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

谢谢你, 提姆

【问题讨论】:

    标签: mysql sql count group-by subquery


    【解决方案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,而不是按项目细分。

    【讨论】:

    • 真棒马克,按照你所说的,这很有效,非常感谢!
    猜你喜欢
    • 2015-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    相关资源
    最近更新 更多