Изглежда, че еневъзможно да използвате ORDER BY за обобщение GROUP BY. Основната ми логика е погрешна. Ще трябва да изпълня следната подзаявка.
SELECT `p`.*, `pp`.`price` FROM `products` `p`
LEFT JOIN (
SELECT `price` FROM `product_price` ORDER BY `date_updated` DESC
) `pp`
ON `p`.`product_id` = `pp`.`product_id`
GROUP BY `p`.`product_id`;
Това ще доведе до спад в производителността, но тъй като това е една и съща подзаявка за всеки ред, не би трябвало да е много лошо.