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

MySQL LEFT JOIN MAX()値に応じて1行のみ

    簡単なJOINを使用できます table2へ 、MAX(WorkDay)を入力するだけです JOINへの条件付け table1にアクセスできる相関サブクエリとしての条件 id値:

    SELECT *
    FROM table1 t1
    JOIN table2 t2 ON t2.id = t1.id AND
                      t2.WorkDay = (SELECT MAX(WorkDay) 
                                    FROM table2 
                                    WHERE table2.id = t1.id)
    

    出力:

    ID  Name    ID  WorkDay     MissionCode
    1   Brain   1   2019-02-01  2470
    2   Amy     2   2019-02-01  7210
    

    dbfiddleのデモ



    1. linqラムダを含む数値を含むvarchar列をエンティティに並べ替える方法

    2. 画像をC#にロードしてから、MySQLテーブルに挿入します

    3. PostgreSQLは配列要素に一意性の制約を設けることができますか?

    4. PostgreSQLのSUM()関数