Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY и ORDER BY не работят според изискванията

Изглежда, че еневъзможно да използвате 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`;

Това ще доведе до спад в производителността, но тъй като това е една и съща подзаявка за всеки ред, не би трябвало да е много лошо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql свързва две таблици с идентификатори, разделени със запетая

  2. 15 полезни съвета за настройка и оптимизация на MySQL/MariaDB

  3. Как да актуализирате колоната с идентификатор, започвайки отново от 1

  4. Грешки при инсталиране на mysql2 gem чрез Bundler

  5. #1111 - Невалидно използване на групова функция