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

MySQL INNER JOINは、2番目のテーブルから1行のみを選択します

    user IDごとに最新の日付を取得するには、サブクエリが必要です 。

    SELECT  a.*, c.*
    FROM users a 
        INNER JOIN payments c
            ON a.id = c.user_ID
        INNER JOIN
        (
            SELECT user_ID, MAX(date) maxDate
            FROM payments
            GROUP BY user_ID
        ) b ON c.user_ID = b.user_ID AND
                c.date = b.maxDate
    WHERE a.package = 1
    


    1. mysqlでの条件付き結合

    2. 入力配列に基づいてUPSERTする機能の改善

    3. SQL Serverのリンクサーバーからテーブルのリストを返す(T-SQLの例)

    4. グループ化された実行中のMAX(またはMIN)の維持