首頁  >  文章  >  資料庫  >  關於Mysql如何將資料分組後取出時間最近的資料詳解

關於Mysql如何將資料分組後取出時間最近的資料詳解

黄舟
黄舟原創
2018-05-15 11:24:327555瀏覽

如題,我在網路上也找過相關解決方法,很多解答都是這麼一句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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn