Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY e ORDER BY não funcionam conforme necessário


Parece que é impossível para usar um ORDER BY em uma sumarização GROUP BY. Minha lógica fundamental é falha. Vou precisar executar a seguinte subconsulta.
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`;

Isso terá um impacto no desempenho, mas como é a mesma subconsulta para cada linha, não deve ser tão ruim.