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;
这样就能查出来了。先写这么多,以后有时间了再仔细研究论证。
相关文章推荐
- Mysql根据数据库的时间字段到点更新另外的状态。
- mysql创建存储过程(根据时间字段来更新数据)
- MySQL timestamp,更新记录的某个字段,时间跟着改变了
- [MySQL]学习笔记- 用户行为表中,查询每个人的一条最新行为(分组 排序 取时间最大的一条记录)
- mysql分组查询获取组内某字段最大的记录
- mysql查询获取分组后最新的一条记录,策略:先排序,然后在次分组查询(默认第一条),就是最新的一条数据了
- MySQL——关于MySQL分组查询group by和order by获取最新时间内容的方法
- Mysql分组后获取其中一个字段最大值的整条记录
- mysql 给检索的条目按照某些字段分组,并合并分组后的多条记录的某列字段的值----laravel
- 获取分组后取某字段最大一条记录(求每个类别中最大的值的列表)
- Mysql 根据一个表数据更新另一个表的某些字段(sql语句)
- 获取分组后取某字段最大的一条记录(求每个类别中最大的值的列表)
- mysql timestamp 自动记录首次插入时间与自动更新修改时间
- mysql dateTime字段在记录更新时随之更新
- mysql 时间字段自动更新
- Mysql按字段分组取最大值记录
- mysql获取按日期排序获取最新的记录
- Mysql 根据时间戳按年月日分组统计
- Oracle获取最新时间记录与上行差值案例
- mysql 分组取最新的一条记录(整条记录)