-1

我有一个事务/审计表,其中为每个特定的用户操作创建一个条目。

我正在尝试为一组用户提取最后一笔交易。所以对于用户 1、2、3,我正在寻找每个人最后做了什么。

基本架构是:trans_id、action、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 个条目。

谢谢你的帮助。

4

1 回答 1

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);
于 2013-07-01T22:40:31.980 回答