對于Mysql如何將數據分組后取出時間最近的數據詳細說明
發表時間:2023-08-26 來源:明輝站整理相關軟件相關文章人氣:
[摘要]如題,我在網上也找過相關解決方法,很多解答都是這么一句SQL語句:select Id,AccountId,Mark,max(CreateTime) as Latest from AccountMark as b group by AccountId使用Max函數。但是在我查出來的數據中似乎有些不對...
如題,我在網上也找過相關解決方法,很多解答都是這么一句SQL語句:
select Id,Ac
count
Id,Mark,max(Create
Time
) as Latest from AccountMark as b group by AccountId
使用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中文網其它相關文章!
學習教程快速掌握從入門到精通的SQL知識。