2011-09-20 6 views
0

저는 MySQL을 사용하고 있으며 각 항목을 구입 한 달까지 여러 항목의 구매 횟수를 계산하고 싶습니다. 내 테이블은 "items_purchased", 항목은 "item_id"로 나열되며 구매 날짜는 "purchase_date"라는 타임 스탬프입니다.MySQL COUNT() GROUP BY GROUP BY (월 단위로 여러 항목 구입시 계산)

여기 내 쿼리는 지금까지의 :

ITEM_ID = 3 : 2011 년 7 월 2011 년 6 월 2 개 구매, 3 개 구매
ITEM_ID 일반 영어

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

결과이 같은 것 = 2011 년 6 월에 2 : 1 구매, 2011 년 7 월에 7 가지 구매

적절한 COUNT() 및/또는 GROUP BY 문 (또는 필요한 다른 항목)을 결정하는 데 도움이되는 도움이 달마다 각 item_id에 대한 구매가 대단히 감사하겠습니다! 당신이 항목 ID는 당 계산하려면

이 팀

답변

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 

감사합니다, GROUP BY 절의 끝 부분에 'ITEM_ID'를 추가합니다. 이것은 주어진 year/month에 얼마나 많은 itemID가 나타나는지 계산할 수 있지만, item마다 나누지는 않습니다.

+0

굉장한 마크, 당신이 말한 것과이 작품이 뒤늦게 감사합니다! –