當(dāng)前位置:首頁 > IT技術(shù) > 數(shù)據(jù)庫 > 正文

#私藏項目實操分享# 記一次MySQL分組查詢每組最近時間的多條數(shù)據(jù)
2021-11-30 22:45:32

一、問題描述

有這么一個表,里面一個字段多條可能相同,比如兩個1五個2之類的。需要每個不同的數(shù)字拿出來最新的一條數(shù)據(jù)。

#私藏項目實操分享# 記一次MySQL分組查詢每組最近時間的多條數(shù)據(jù)_數(shù)據(jù)

如上圖。

二、解決思路

1、首先通過 ??financial_order_id?? 進行分組查詢最大的時間集合

SELECT financial_order_id,MAX(create_time) maxtime FROM financial_order_item GROUP BY financial_order_id

#私藏項目實操分享# 記一次MySQL分組查詢每組最近時間的多條數(shù)據(jù)_數(shù)據(jù)_02

2、使用上一步查出的時間集合聯(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é)果測試

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

#私藏項目實操分享# 記一次MySQL分組查詢每組最近時間的多條數(shù)據(jù)_數(shù)據(jù)_03

本文摘自 :https://blog.51cto.com/u

開通會員,享受整站包年服務(wù)立即開通 >