帮助MySql查询 - 行保持某个列的组最大值

时间:2011-02-02 04:38:39

标签: mysql

我需要帮助返回此查询的相关结果。我有一张桌子,我用三根柱子打。 trans_date,trans_amount和user_id

我想确定的是这个。对于给定的user_id,什么时候是最后一个trans_date,什么是trans_amount。

我无法返回正确的transaction_amount。到目前为止,这是我的代码。它返回了正确的日期,但金额不正确

select user_id, trans_date, trans_credit
from table
WHERE trans_credit = 
(select max(trans_date) from inclick_account_act as f 
 where f.user_id = table.user_id);

提前致谢

2 个答案:

答案 0 :(得分:1)

如果我理解正确,您只想为所有用户获取最新的交易。

  SELECT user_id, trans_date, trans_credit
    FROM `table`
GROUP BY user_id
ORDER BY trans_date DESC;

答案 1 :(得分:0)

这样的东西
SELECT  t.*
FROM    table t INNER JOIN
        (
            SELECT  user_id,
                    MAX(trans_date) max_trans_date 
            FROM    table
            GROUP BY    user_id
        ) MaxDates  ON  t.user_id = MaxDates.max_trans_date