MySQL groupwise MAX() returns unexpected results

前端 未结 3 614
青春惊慌失措
青春惊慌失措 2020-12-02 00:35

TABLE: LOAN

Loan_no     Amount        SSS_no              Loan_date

7           700.00        0104849222          2010-01-03 
8                    


        
3条回答
  •  失恋的感觉
    2020-12-02 01:21

    Try this instead:

    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 Fiddle Demo

    This will give you:

    | 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 |
    

提交回复
热议问题