Подзапрос MySQL COUNT () GROUP BY (?) Для подсчета покупок по нескольким товарам в месяц - PullRequest
0 голосов
/ 21 сентября 2011

Я использую 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 года, 3 покупки в июле 2011 года
item_id = 2: 1 покупка в июне 2011 года, 7 покупок в июле 2011

любая помощь, помогающая мне выяснить, как сделать соответствующие операторы COUNT () и / или GROUP BY (или все, что мне может понадобиться) для определения ежемесячных покупок для каждого item_id, будет принята с благодарностью!

спасибо, тим

1 Ответ

1 голос
/ 21 сентября 2011
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. Это просто подсчитает, сколько идентификаторов предметов появилось в каждом конкретном году / месяце, но не разбивало их по каждому элементу.

...