mysql 根据某一字段获取最新一条数据
目标
在某个网盘系统内,有张文件操作记录表,记录了文件/文件夹的操作数据
需要获取userid为1的最近20条的操作记录
思路
因为create_time记录的是时间,最新的操作记录,create_time就越大,所以先按resource_id(资源id)分组然后取最大的create_time,
接着join一下取资源id
结果
使用max函数:
select dor.resource_id
from operate_record dor join
(select max(dor.create_time), dor.operate_id from dx_operate_record dor where dor.CREATE_BY = #{userId} group by dor.resource_id )
t on dor.operate_id = t.operate_id order by dor.CREATE_TIME desc limit #{pageSize}
参考
https://blog.csdn.net/freshman2020/article/details/114003915