正确写法
内层select语句选出用户id以及对应用户的最新一条数据的时间,然后使用等值连接,location和r两个表的user_id字段和create_time字段对应
select location.user_id, location.create_time, location.address
from location inner join
(select max(create_time) as create_time, user_id from location
group by user_id ) r
on (location.user_id=r.user_id and location.create_time=r.create_time)
错误写法
这种写法虽然选出的create_time确实是每个用户最新数据的时间,不过取出 的其他数据例如address却不是这个最新时间对应的address。
select max(create_time) as create_time, user_id,address
from location
group by user_id