Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY et ORDER BY ne fonctionnent pas comme requis

Il semble que ce soit impossible pour utiliser un ORDER BY sur un résumé GROUP BY. Ma logique fondamentale est erronée. Je vais devoir exécuter la sous-requête suivante.

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`;

Cela aura un impact sur les performances, mais comme il s'agit de la même sous-requête pour chaque ligne, cela ne devrait pas être trop grave.