2011-09-20 43 views
0

我正在使用MySQL,並且想要計算購買每個項目的月份中多個項目的購買次數。我的表稱爲「items_purchased」,這些項目按「item_id」列出,購買日期是稱爲「purchase_date」的時間戳。MySQL COUNT()GROUP BY子查詢(?)來計算每月多個項目的購買量

,這裏是我的查詢到目前爲止:

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月3名購買於2011年7月
ITEM_ID = 2011年6月購買2:1,2011年7月購買7件

幫助我弄清楚如何執行相應的COUNT()和/或GROUP BY語句(或其他我可能需要的)來確定每月購買每個item_id將不勝感激!如果你想每ITEMID計數

謝謝你, 添

回答

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 

, 'ITEM_ID' 添加到組的末尾BY子句。這隻會計算在任何給定年份/月中顯示多少個itemID,但不會將其按項目分解。

+0

真棒馬克,跟着你說的和這個作品,非常感謝! –