2013-07-01 41 views
-1

我有一個事務/審計表,其中爲每個特定的用戶操作創建一個條目。一組用戶的最後X條目

我想拉一組用戶的最後一筆交易。所以對於用戶1,2,3我正在尋找 爲每個最後。

的基本模式是:TRANS_ID,動作,user_id說明

我在這第一次嘗試做像這樣的查詢:

select * from audit_table where user_id IN (1,2,3) group_by(user_id) ORDER BY trans_id DESC 
LIMIT 3 

但這並沒有專門的「最後」拉3個條目。

感謝您的幫助。

回答

3
SELECT x.* 
     FROM audit_table x 
     JOIN SELECT user_id, MAX(trans_id) max_trans_id FROM audit_table GROUP BY user_id) y 
     ON y.user_id = x.user_id 
     AND y.max_trans_id = x.trans_id 
    WHERE x.user_id IN (1,2,3); 
+0

只會得到每個用戶的最後一個trans_id,但這是您的多用戶最佳解決方案 – elzaer

+0

是的。線程標題和線程內容提示了兩個不同的要求。 – Strawberry

+0

感謝這個答案,給了我需要的確切信息。 –

相關問題