首頁  >  問答  >  主體

限制SQL查詢的條件依一列

我有兩個表,一個叫做user,另一個叫做payment。一個用戶可以有多個支付記錄。 例如: 用戶1有2筆支付記錄 用戶2有5個支付記錄 用戶3有10個支付記錄 用戶4有7個支付記錄

我有以下查詢:

select * from user inner join payment on payment.user_id = user.id limit 2

這個查詢只會回傳用戶1和他的2個付款記錄。

但是我想返回用戶1和用戶2,分別帶有他們的付款記錄。

P粉180844619P粉180844619180 天前314

全部回覆(1)我來回復

  • P粉042455250

    P粉0424552502024-04-03 16:25:12

    如果我理解正確,您想要返回兩個用戶的付款,如果是這樣,請嘗試以下操作:

    select p.*
    from payment p
    inner join (
      select id
      from user
      order by id
      limit 2
    ) as u on u.id = p.user_id

    回覆
    0
  • 取消回覆