您的位置:首页 > 数据库 > MySQL

mysql根据某个字段分组根据更新时间获取最新的记录

2018-01-30 10:50 393 查看

我现在有一种统计表,要根据一个字段分组然后根据更新时间,每个分组获取最新的一条记录。命名感觉挺简单的一个需求,然而没什么思路,当然是问度娘了。

度娘的答案很统一,然而都不管用,都是报错的,不知道是不是因为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;

这样就能查出来了。先写这么多,以后有时间了再仔细研究论证。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: