在同一个表上使用子查询的mysql

时间:2016-02-26 06:49:13

标签: mysql sql select subquery

我有一个mysql表,至少有userId,wager。 数据可以是

userId = 1 wager = 10.00, userId = 2 wager = 5.00, userId = 3 wager = 1.00.

我想运行一个带有userId参数的select,它返回<=该用户下注的所有userId&#s} 因此,如果userId = 2我以5.00或更低的投注收回所有其他用户。 查询比一次加入做的要多得多,但只需要一些帮助或最好的方法与上面的

2 个答案:

答案 0 :(得分:6)

你可以通过自我加入来实现:

SELECT u1.*
FROM user AS u1
INNER JOIN user AS u2 ON u1.wager <= u2.wager
WHERE u2.userId = ?

答案 1 :(得分:0)

SELECT userA.*
FROM user AS userA,user AS userB 
WHERE userA.wager <= userB.wager 
AND userA.userId=userB.userId
AND userB.userId = 2

这是一个很好的问题,希望它对你有所帮助。我想大多数人都忘记将userId链接在一起,可能需要将userId链接在一起。