MYSQL: использование ROLLUP в подзапросе
Я пытаюсь использовать ROLLUP как часть годового расчета запроса. Я близок к этому запросу, однако мой накопительный пакет "Количество в прошлом году" возвращает только промежуточный итог значения второй строки. Я не могу понять почему и был бы признателен за толчок в правильном направлении. Спасибо!
SELECT `sale`.`retailer_date` AS 'rWeek',
IFNULL(A.pCategory,"Total"),
sum(`sale`.`quantity`) AS 'Quantity',
A.pQuantity AS 'Last Year Quantity',
concat(round(((sum(`sale`.`quantity`) - A.pQuantity) / sum(`sale`.`quantity`)) * 100,2),'%') as 'YoY'
FROM `sale`
INNER JOIN `product` ON `sale`.`product_id` = `product`.`product_id`
INNER JOIN `product_product_attribute_valu` ON `product`.`product_id` = `product_product_attribute_valu`.`product_id`
INNER JOIN `product_attribute_value` ON `product_product_attribute_valu`.`product_attribute_value_id` = `product_attribute_value`.`product_attribute_value_id`
INNER JOIN
(SELECT `sale`.`retailer_date` AS 'prevWeek',
IFNULL(`product_attribute_value`.`product_attribute_value`,"Total") AS 'prevCategory', sum(`sale`.`quantity`) AS 'prevQuantity'
FROM `sale`
INNER JOIN `product` ON `sale`.`product_id` = `product`.`product_id`
INNER JOIN `product_product_attribute_valu` ON `product`.`product_id` = `product_product_attribute_valu`.`product_id`
INNER JOIN `product_attribute_value` ON `product_product_attribute_valu`.`product_attribute_value_id` = `product_attribute_value`.`product_attribute_value_id`
WHERE (`product_attribute_value`.`product_attribute_value` = 'A' OR `product_attribute_value`.`product_attribute_value` = 'B')
AND retailer_date = '201701'
GROUP BY 2 WITH ROLLUP
) A on `product_attribute_value`.`product_attribute_value` = A.pCategory
WHERE (`product_attribute_value`.`product_attribute_value` = 'A' OR `product_attribute_value`.`product_attribute_value` = 'B')
AND retailer_date = '201801'
GROUP BY A.pCategory with ROLLUP