查找某一时间的最新记录
分两步:
1: 使用 max() 查出满足条件的最大id
2: 通过 最大 id 查询单条记录
这样查询时间比较短
SELECT * from tablename where `id` = (SELECT max(`id`) FROM tablename WHERE user_id= #{id} and DATE_FORMAT(time,‘%Y-%m-%d‘)= #{dateStr});
如果采用一下方法,查询时间明显变长
SELECT * from tablename where user_id= #{id} and DATE_FORMAT(time,‘%Y-%m-%d‘)= #{dateStr} order by time DESC limit 1;