开发者

Help with a MySql Query - The Rows Holding the Group-wise Maximum of a Certain Column

I need help returning a relevant result for this query. I have one table that I am hitting with three columns. trans_date, trans_amount and user_id

what I am trying to determine is this. For a given user_id when was the last trans_date and what was the trans_amount.

I'm having trouble returning the correct transaction_amount. Here is my code so far. It's returning the correct date but the amount is not right

select user_id, trans_date, trans_credit
from table
WHERE trans_credit = 
(select max(trans_date) from inclick_account_act as f 
 where f.开发者_如何学Gouser_id = table.user_id);

Thanks in advance


If I understand you correctly you just want to get the most recent transaction for all users.

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


How about something like

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
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜