如题,我在网上也找过相关解决方法,很多解答都是这么一句SQL语句:
select Id,AccountId,Mark,max(CreateTime) 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语句,能实现既不出现子句,又能查出正确数据。谢谢!
Elser AI Comics
一个免费且强大的AI漫画生成工具,助力你三步创作自己的一出好戏
522 查看详情
解决方法:
select * from AccountMark as b where not exists(select 1 from AccountMark where AccountId= b.AccountIdand b.CreateTime<CreateTime )
以上就是关于Mysql如何将数据分组后取出时间最近的数据详解的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/894140.html
微信扫一扫
支付宝扫一扫