我想根据每个用户的最新交易对表格进行排序

时间:2019-07-18 02:55:41

标签: mysql database

这是我表的当前场景,我想根据用户获取最新的交易表, 用户可以在(sender_user或receiver_user)的任何列中

注意: 如果(发送者用户和接收者用户)列中都有用户可用,那么我们可以忽略接收者用户

transaction_date    Sender_user Receiver_user   Balance  txno
18/3/2019 9:46          118         null         100     1
18/3/2019 10:46         320         118          200     2
18/3/2019 11:46         1112        null         121     3
19/3/2019 6:46                      316           40     4
19/3/2019 7:46          316         219           60     5
19/3/2019 9:46          219         112           51     6
19/3/2019 10:46         122         null          30     7
19/3/2019 11:46         122         null         420     8

请帮助我解决这个问题。

我的排除结果是

transaction_date    User    Amount  txno
18/3/2019 9:46       118    100      1
18/3/2019 10:46      320    200      2
18/3/2019 11:46      1112   121      3
19/3/2019 7:46       316    60       5
19/3/2019 9:46       219    51       6
19/3/2019 11:46      122    420      8

这是我到目前为止尝试过的。

SELECT t.transaction_date, t.sender_user, t.receiver_user, t.trans_group_id, 
t.balance, t.txid
FROM transactions t
INNER JOIN(
SELECT t1.sender_user, t1.receiver_user, MAX(t1.transaction_date) AS 
'transaction_date'
FROM transactions t1
GROUP BY t1.sender_user) max_tranc 
ON (t.sender_user= max_tranc.sender_user) 
AND t.transaction_date= max_tranc.transaction_date

0 个答案:

没有答案