MySQL 分組后取時間最新記錄
發表時間:2023-08-28 來源:明輝站整理相關軟件相關文章人氣:
[摘要]如題,我在網上也找過相關解決方法,很多解答都是這么一句SQL語句:select Id,AccountId,Mark,max(CreateTime) as Latest from AccountMark as b group by AccountId 使用Max函數。但是在我查出來的數據中似乎有些不...
如題,我在網上也找過相關解決方法,很多解答都是這么一句SQL語句:
select Id,Ac
countId,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知識。