一、問題描述
有這么一個(gè)表,里面一個(gè)字段多條可能相同,比如兩個(gè)1五個(gè)2之類的。需要每個(gè)不同的數(shù)字拿出來最新的一條數(shù)據(jù)。
如上圖。
二、解決思路
1、首先通過 ??financial_order_id?
? 進(jìn)行分組查詢最大的時(shí)間集合
SELECT financial_order_id,MAX(create_time) maxtime FROM financial_order_item GROUP BY financial_order_id
2、使用上一步查出的時(shí)間集合聯(lián)表查詢得出結(jié)果。
select * from financial_order_item a left join (
SELECT financial_order_id,MAX(create_time) maxtime FROM financial_order_item GROUP BY financial_order_id
) b on a.financial_order_id=b.financial_order_id and a.create_time=b.maxtime
三、結(jié)果測(cè)試
select * from financial_order_item a left join (
SELECT financial_order_id,MAX(create_time) maxtime FROM financial_order_item GROUP BY financial_order_id
) b on a.financial_order_id=b.financial_order_id and a.create_time=b.maxtime
本文摘自 :https://blog.51cto.com/u