2011-08-15 120 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兄弟.. –

相關問題