SELECT AVG(`age`)
FROM `CUSTOMER`
WHERE `CUSTOMER_KEY` IN (
SELECT `CUSTOMER_KEY`
FROM `PURCHACE`
WHERE `PRODUCT_KEY` IN (
SELECT `PRODUCT_KEY`
FROM `PRODUCT`
WHERE `NAME` = 'плюшевый мишка'
) AND `DATE` BETWEEN '2018-01-01' AND '2018-12-31'
)
Если хотите с JOIN'ами, то
SELECT AVG(`age`)
FROM (
SELECT DISTINCT `c`.`CUSTOMER_KEY`, `c`.`AGE` AS `age`
FROM `PRODUCT` AS `p`
JOIN `PURCHACE` AS `pu`
ON `p`.`NAME` = 'плюшевый мишка'
AND `pu`.`DATE` BETWEEN '2018-01-01' AND '2018-12-31'
AND `pu`.`PRODUCT_KEY` = `p`.`PRODUCT_KEY`
JOIN `CUSTOMER` AS `c`
ON `c`.`CUSTOMER_KEY` = `pu`.`CUSTOMER_KEY`
) AS `t`