Có vẻ như điều đó là không thể để sử dụng ORDER BY trên tổng kết GROUP BY. Logic cơ bản của tôi là thiếu sót. Tôi sẽ cần chạy truy vấn con sau.
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`;
Điều này sẽ ảnh hưởng đến hiệu suất nhưng vì nó là cùng một truy vấn con cho mỗi hàng nên không quá tệ.