天天看點

mysql分組後選出最大值所在的那一行資料

背景

mysql中使用group by進行分組後取某一列的最大值,我們可以直接使用MAX()函數來實作,但是如果我們要取最大值所在的那一行或多行(可能有多行對應的最大值都一樣)

那麼我們需要取得整行的資料該怎麼辦?

統計訂單表中每個使用者最近下單的一條資料

方法一

select a.* from order_main a 
    inner join (
    select user_id, max(create_time) create_time from order_main group by user_id
    ) b 
on a.user_id= b.user_id and a.create_time = b.create_time      

方法二

select a.* from order_main a,
 (select user_id,max(create_timel) create_time from order_main group by user_id) b 
where a.user_id = b.user_id and a.create_time = b.create_time      

本篇文章如有幫助到您,請給「翎野君」點個贊,感謝您的支援。

作者:翎野君

如果您喜歡或希望看到更多我的文章,可掃描二維碼關注我的微信公衆号《翎野君》。

繼續閱讀