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

黄舟
發布: 2019-02-22 16:29:20
原創
7572 人瀏覽過

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板