Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL LEFT JOIN, GROUP BY dan ORDER BY tidak berfungsi sesuai kebutuhan

Tampaknya tidak mungkin untuk menggunakan ORDER BY pada ringkasan GROUP BY. Logika dasar saya cacat. Saya perlu menjalankan subquery berikut.

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

Ini akan membutuhkan kinerja yang baik, tetapi karena ini adalah subkueri yang sama untuk setiap baris, seharusnya tidak terlalu buruk.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa yang dimaksud dengan klausa SQL GROUP BY 1?

  2. Bagaimana cara menyimpan file .txt database MySQL?

  3. perbandingan tanggal dasar untuk pemeriksaan kedaluwarsa

  4. kesalahan mengubah tabel, menambahkan batasan kunci asing mendapatkan kesalahan Tidak dapat menambah atau memperbarui baris anak

  5. Perlu untuk menanyakan kombinasi yang berbeda dari dua bidang, bersama dengan hitungan bahwa kombinasi yang berbeda terjadi