首页  >  问答  >  正文

限制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 天前316

全部回复(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
  • 取消回复