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

Nhóm theo id có max (date_field)

Tại đây, bạn cần có một truy vấn con lấy date_add mới nhất cho mọi id_order trên bảng ps_order_history . Kết quả của truy vấn con sau đó được nối lại trên bảng gốc ps_order_history miễn là nó nằm trên hai cột:date_addid_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. Strongloop:lọc dữ liệu với các điều kiện [và] và [hoặc] cùng nhau

  2. Tất cả các cột của bảng nên được lập chỉ mục hay không cơ sở dữ liệu mysql?

  3. Phân tích cú pháp JSON thành bảng MySQL

  4. mysql - nhóm, nhưng hiển thị tất cả hàng của một cột

  5. F # Beginner:lấy một mảng dữ liệu từ máy chủ