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

MySQL groupwise MAX()は予期しない結果を返します

    代わりにこれを試してください:

    SELECT l1.*
    FROM loan AS l1
    INNER JOIN
    (
       SELECT SSS_no, MAX(Loan_date) LatestDate
       FROM loan
       GROUP BY SSS_no
    ) AS l2  ON l1.SSS_no    = l2.SSS_no 
            AND l1.loan_date = l2.LatestDate;
    

    SQLフィドルデモ

    これにより、次のことが可能になります:

    | LOAN_NO | AMOUNT |     SSS_NO |  LOAN_DATE |
    ----------------------------------------------
    |      16 |    230 |  104849222 | 2013-03-06 |
    |      17 |    265 |  119611199 | 2011-04-30 |
    |      18 |    455 | 3317131410 | 2013-03-10 |
    


    1. SQLite全文検索入門

    2. タイムスタンプではなくDateTimeを選択したのはいつですか

    3. PHP/MYSQLでユーザー名がすでに存在するかどうかを確認する方法

    4. SELECTINTOおよび宣言されていない変数エラー