SELECT
*
FROM
customer_loan_info tb1,
( SELECT loan_no, max( loan_time ) AS loan_time FROM customer_loan_info GROUP BY loan_no ) tb2
WHERE
tb1.loan_no = tb2.loan_no
AND tb1.loan_time = tb2.loan_time
这个子查询可以查到分组后的编号和最大时间,但是这两个信息并不是一条数据的信息,再关联一下就可以得到具体记录了,这样查询的速度比较快
SELECT loan_no, max( loan_time ) AS loan_time FROM customer_loan_info GROUP BY loan_no
通过看博客还了解到另一种方法:
SELECT
*
FROM
( SELECT * FROM customer_loan_info ORDER BY loan_time DESC LIMIT 1000000000 ) tb1
GROUP BY
tb1.loan_no
但是LIMIT 1000000000总觉得不好,如果有一天数据超过了这个值还要改SQL,而且测了一下上面的方法比下面的快些