SQL Join在右表中获取结束日期

时间:2017-12-19 23:56:43

标签: mysql sql

我有这样的数据..我想让每个用户都有他们的最后一笔交易,

tb_user

---------------------
userID  |   Name
---------------------
1       |   Alex
2       |   Jack
---------------------

tb_transaction

-------------------------------------
ID  |   userId    |  lastTransaction
-------------------------------------
1   |   1         |  2017-10-10
2   |   1         |  2017-10-11
4   |   2         |  2017-10-8
5   |   2         |  2017-10-15
-------------------------------------

我想得到这样的东西:

Alex -> 2017-10-11  
Jack -> 2017-10-15

我的sql代码是:

select * 
from 
tb_user 
inner join 
(select userID,lastTransaction from tb_transaction order by lastTransaction) as 
x on x.userID = tb_user.userID

1 个答案:

答案 0 :(得分:-1)

尝试:

SELECT A.USERID, MAX(B.LASTTRANSACTION) AS LAST_TXN_DATE
FROM
TB_USER A 
LEFT JOIN 
TB_TRANSACTION B
ON A.USERID = B.USERID
GROUP BY A.USERID;

这将为每个用户提供最后一个交易日期。