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

Групиране по идентификатор с max(date_field)

Тук трябва да имате подзаявка, която получава най-новата date_add за всяка id_order в таблица ps_order_history . След това резултатът от подзаявката се обединява обратно в оригиналната таблица ps_order_history при условие, че отговаря на две колони:date_add и 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. Typeorm Не връща всички данни

  2. Вмъкване на множество стойности в MySQL наведнъж

  3. [имейл защитен] инсталиране:`node-pre-gyp install --fallback-to-build`

  4. MediumBlob в схемата на база данни на Laravel

  5. Разбиране на MySQL key_len в Explain Statement