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

Kelompokkan menurut id yang memiliki max(date_field)

Di sini, Anda harus memiliki subquery yang mendapatkan date_add terbaru untuk setiap id_order di atas tabel ps_order_history . Hasil subquery tersebut kemudian digabungkan kembali pada tabel asli ps_order_history asalkan cocok dengan dua kolom:date_add dan id_order .

SELECT  c.firstname, 
        c.lastname, 
        d.product_name, 
        o.payment, 
        s.name, 
        h.date_add
FROM    ps_orders o
        INNER JOIN ps_order_detail d ON d.id_order = o.id_order
        INNER JOIN ps_customer c ON c.id_customer = o.id_customer
        INNER JOIN ps_order_history h ON o.id_order = h.id_order
        INNER JOIN  
        (
            SELECT  id_order, MAX(date_add) max_date
            FROM    ps_order_history
            GROUP   BY id_order
        ) x ON  h.id_order = x.id_order AND
                h.date_add = x.max_date
        INNER JOIN ps_order_state_lang s ON s.id_order_state = h.id_order_state
WHERE   s.id_lang =6
GROUP   BY c.id_customer


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Struktur seperti berorientasi objek dalam database relasional

  2. Java+Tomcat, Koneksi database sekarat?

  3. Pernyataan Kondisi - Php Mysqli

  4. Session_set_save_handler tidak disetel

  5. Bisakah string yang disandikan base64 berisi spasi?