Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY và ORDER BY không hoạt động theo yêu cầu

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ệ.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Gặp sự cố với các hàng khớp trong cơ sở dữ liệu bằng cách sử dụng PDO

  2. Các biến MySQL do người dùng định nghĩa trong Laravel 3?

  3. Chèn hàng loạt với PHP

  4. Chọn cha mẹ và con cái với MySQL

  5. Docker soạn thư kết nối mysql không thành công