如题,我在网上也找过相关解决方法,很多解答都是这么一句sql语句:
select id,accountid,mark,max(createtime) 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
以上就是MySQL 分组后取时间最新记录的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号