You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL关联查询中按用户维度限制结果,返回指定数量用户的全部支付记录?

解决方法

原来的limit 2是直接限制返回的总行数,所以只会拿到用户1的2条支付记录。要获取用户1和用户2的所有支付记录,有两种常用写法:

  • 直接指定目标用户ID:
SELECT * 
FROM user 
INNER JOIN payment ON payment.user_id = user.id 
WHERE user.id IN (1, 2);

这种方式精准筛选出用户1和2,关联支付表后就能拿到他们的全部支付记录。

  • 如果需要取前N个用户的所有记录(比如前2个),可以先查询出目标用户再关联:
SELECT * 
FROM (SELECT * FROM user LIMIT 2) AS u 
INNER JOIN payment ON payment.user_id = u.id;

这种写法先从user表取出前2个用户,再和payment表关联,能确保拿到这两个用户的所有支付记录。

内容的提问来源于stack exchange,提问作者Jequex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 02:52:09