MySQL分组获取最大记录教程 | 如何选择每组的最大记录

silverwq
2022-10-23 / 0 评论 / 263 阅读 / 正在检测是否收录...

介绍

默认情况,分组后取的是第一条数据,有时候我们希望取最后一条数据

方法

max函数

分组的时候使用max函数获取最大的id,然后再in这个id获取记录。.

select * from erp_user_money where id IN 
  (select max(id) from erp_user_money where 1 group by user_id);

或者

select * from erp_user_money a where id =
  (select max(id) from erp_user_money b where a.user_id = b.user_id);

使用not exists

这个方法速度比较块

select * from erp_user_money a where not exist
  (select 1 from erp_user_money b where a.user_id = b.user_id and a.id < b.id);
0

评论 (0)

取消