У меня есть таблица с именем daily_purchases
с
item purchases purchase_date
paper 1 2020-01-15
paper 3 2020-02-10
pencil 2 2020-01-17
pencil 3 2020-02-05
Я хочу получить суммы за 7 дней и 30 дней примерно так:
item sevenday thirtyday
paper 1 4
pencil 2 5
Я могу получить их отдельно, но не могу получить выше. Я пробовал то, что ниже, но вместо разделения итогов на item
, как и ожидалось, я получаю одинаковую сумму для всех элементов, например так:
item sevenday thirtyday
paper 2 5
pencil 2 5
Вот что я пробовал:
SELECT item,
(SELECT sum(purchases) FROM `daily_purchases` WHERE datediff(CURDATE(), purchase_date) < 8) as 'sevenday',
(SELECT sum(purchases) FROM `daily_purchases` WHERE datediff(CURDATE(), purchase_date) < 31) as 'thirtyday'
FROM daily_purchases
GROUP BY item
ORDER BY 'thirtyday' DESC