mysql根據某個字段分組根據更新時間獲取最新的記錄


我現在有一種統計表,要根據一個字段分組然后根據更新時間,每個分組獲取最新的一條記錄。命名感覺挺簡單的一個需求,然而沒什么思路,當然是問度娘了。

度娘的答案很統一,然而都不管用,都是報錯的,不知道是不是因為mysql5.7的原因,不過我記得group by也是不能查出整條記錄的,為什么百度上都可以,百思不得解!

從網上找個例子:

根據USER_ID分組,每個獲取 last_updated_date最新的一條記錄。

SELECT ID,USER_ID,problems,last_updated_date  FROM  (select * from t_iov_help_feedback  order by USER_ID, LAST_UPDATED_DATE DESC) b GROUP BY b.USER_ID; 

很明顯,這樣在我的sql里面會報錯。

所以我用了關聯查詢 on后跟了兩個條件

select * from (select USER_ID,MAX(last_updated_date) group by USER_ID) as temp left join t_iov_help_feedback  as t on temp.USER_ID=t.USER_ID and temp.last_updated_date=t.last_updated_date;

這樣就能查出來了。先寫這么多,以后有時間了再仔細研究論證。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM