如題,我在網路上也找過相關解決方法,很多解答都是這麼一句SQL語句:
select Id,Ac count Id,Mark,max(Create Time ) as Latest from AccountMark as b group by AccountId
相關mysql影片教學推薦:《 mysql教學》
使用Max函數。但是在我查出來的數據中似乎有些不對,如圖,反白的那一條數據,Mark字段和CreateTime字段根本不對應啊!
這是怎麼回事?使用Max函數後在分組這樣可靠嗎?
還有一條語句:
select *,COUNT(AccountId) as Num from (select * from AccountMark order by CreateTime desc) `temp` group by AccountId order by CreateTime desc
這樣查出來的資料是對的
但是,我需要建立檢視,Mysql中視圖裡不允許出現查詢子句。求大神些一條SQL語句,能實現既不出現子句,又能查出正確資料。謝謝!
解決方法:
select * from AccountMark as b where not exists(select 1 from AccountMark where AccountId= b.AccountId and b.CreateTime<CreateTime )
以上是關於Mysql如何將資料分組後取出時間最近的資料詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!