sql >> データベース >  >> RDS >> Mysql

max(date_field)を持つIDでグループ化

    ここでは、最新のdate_addを取得するサブクエリが必要です。 すべてのid_order テーブルps_order_history 。サブクエリの結果は、元のテーブルps_order_historyに結合されます。 date_addの2つの列でmacthする場合: および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. 1つの接続で多くのSQLコマンドを実行するのが良いですか、それとも毎回再接続するのが良いですか?

    2. MYSQLへのPHPPDO動的更新クエリ

    3. MysqlのGroupByとOracleのGroupbyの動作が異なる理由

    4. AWSおよびAzureでのフルマネージドPostgreSQLホスティングは、レガシー移行に間に合うように起動します