我现在有一种统计表,要根据一个字段分组然后根据更新时间,每个分组获取最新的一条记录。命名感觉挺简单的一个需求,然而没什么思路,当然是问度娘了。
度娘的答案很统一,然而都不管用,都是报错的,不知道是不是因为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;
这样就能查出来了。先写这么多,以后有时间了再仔细研究论证。