2011-08-15 197 views
0

我有一张表具有相同user_id的重复数据。我需要为每个user_id选择最新的记录。当我使用组,然后订购。 mysql按该顺序执行该功能,并且我得到错误的记录。MySQL GROUP BY返回第一个项目 - 需要选择最后一个项目

表 - tblUsersProfile

字段类型Null默认注释 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
int(1)是NULL 1为男性,0为女性 created_by int(21)否
activity_ts时间戳没有CURRENT_TIMESTAMP

回答

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 

也许如果你有其他所有数据赘余力我的查询甚至超过必要的“复杂”和等于所有记录。

+0

真棒thanx兄弟.. –

相关问题