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

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

一、問題描述

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

#私藏項(xiàng)目實(shí)操分享# 記一次MySQL分組查詢每組最近時(shí)間的多條數(shù)據(jù)_數(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

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

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

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

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

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