sql >> Databasteknik >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY och ORDER BY fungerar inte som krävs

Det verkar som att det är omöjligt att använda en ORDER BY på en GROUP BY-sammanfattning. Min grundläggande logik är felaktig. Jag måste köra följande underfråga.

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

Detta kommer att ta en prestandaträff men eftersom det är samma underfråga för varje rad borde det inte vara så illa.



  1. Hur väljer man med ett binärt fält? (php,mysql)

  2. php:SQLSTATE[HY000] [2002] Ingen anslutning kunde göras eftersom måldatorn aktivt vägrade det

  3. Skapa ett index på en tabellvariabel

  4. LN() Funktion i Oracle