mysql根据某个字段分组根据更新时间获取最新的记录
Posted 青山不碍白云飞
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql根据某个字段分组根据更新时间获取最新的记录相关的知识,希望对你有一定的参考价值。
我现在有一种统计表,要根据一个字段分组然后根据更新时间,每个分组获取最新的一条记录。命名感觉挺简单的一个需求,然而没什么思路,当然是问度娘了。
度娘的答案很统一,然而都不管用,都是报错的,不知道是不是因为mysql5.7的原因,不过我记得group by也是不能查出整条记录的,为什么百度上都可以,百思不得解!
从网上找个例子:
根据USER_ID分组,每个获取 last_updated_date最新的一条记录。
SELECT ID,USER_ID,problems,last_updated_date FROM (select * from t_iov_help_feedback order by USER_ID, LAST_UPDATED_DATE DESC) b GROUP BY b.USER_ID;
很明显,这样在我的sql里面会报错。
所以我用了关联查询 on后跟了两个条件
select * from (select USER_ID,MAX(last_updated_date) group by USER_ID) as temp left join t_iov_help_feedback as t on temp.USER_ID=t.USER_ID and temp.last_updated_date=t.last_updated_date;
这样就能查出来了。先写这么多,以后有时间了再仔细研究论证。
以上是关于mysql根据某个字段分组根据更新时间获取最新的记录的主要内容,如果未能解决你的问题,请参考以下文章
parttion by ~~~针对某个字段或多个字段重复,数据只取前n条。问题例子:1.主评论下的评论按着 时间正序最多只取前5条 2.获取最新登录记录......