MySQL INNER JOIN select only one row from second table

后端 未结 11 997
不知归路
不知归路 2020-11-30 21:11

I have a users table and a payments table, for each user, those of which have payments, may have multiple associated payments in the payments

11条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-30 21:46

    You can try this:

    SELECT u.*, p.*
    FROM users AS u LEFT JOIN (
        SELECT *, ROW_NUMBER() OVER(PARTITION BY userid ORDER BY [Date] DESC) AS RowNo
        FROM payments  
    ) AS p ON u.userid = p.userid AND p.RowNo=1
    

提交回复
热议问题