MySQL GROUP BY返回第一项 - 需要选择最后一项

时间:2011-08-15 22:15:58

标签: mysql

我有一个表具有相同user_id的重复数据。我需要为每个user_id选择最新的记录。当我按顺序使用组时。 mysql以该顺序执行该功能,并且我得到了错误的记录。

表格 - tblUsersProfile

字段类型空默认注释 id int(11)没有AI
user_id int(7)否
first_name_id int(11)否
last_name_id int(11)否
location_id int(11)否
dob date是NULL
sex int(1)是男性为NULL 1,女性为0 created_by int(21)没有
activity_ts timestamp否CURRENT_TIMESTAMP

1 个答案:

答案 0 :(得分:2)

select t1.* from tblUsersProfile as t1
inner join (
select user_id,max(activity_ts) as rct
from tblUsersProfile
group by user_id) as t2
on t1.user_id = t2.user_id and t1.activity_ts = t2.rct

如果你拥有所有其他数据冗余并且所有记录都相等,那么我的查询可能比必要的更复杂。