Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Grupuj według identyfikatora o wartości max(date_field)

Tutaj musisz mieć podzapytanie, które pobiera najnowsze date_add dla każdego id_order na stole ps_order_history . Wynik podzapytania jest następnie dołączany z powrotem do oryginalnej tabeli ps_order_history pod warunkiem, że pasuje do dwóch kolumn:date_add i 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. Zapisz DataFrame Pandy w bazie danych MySQL

  2. Zapytanie MySQL — rekordy od dnia dzisiejszego do ostatnich 30 dni

  3. uzyskaj obraz typu mim

  4. Naprawianie uszkodzonego kodowania UTF-8

  5. 4 sposoby na wyświetlenie listy wszystkich tabel w bazie danych MySQL