Mysql 在这种情况下,您会认为接收方不在…唯一发送方将消除这些。很高兴你找到了解决办法!现在用括号括起来怎么样(发送方=10或接收方=10)?非常感谢您抽出时间,但似乎仍然没有按预期工作。为了简化查询,我正在制作另一个表。再次感谢。。 id | sender |
Mysql 在这种情况下,您会认为接收方不在…唯一发送方将消除这些。很高兴你找到了解决办法!现在用括号括起来怎么样(发送方=10或接收方=10)?非常感谢您抽出时间,但似乎仍然没有按预期工作。为了简化查询,我正在制作另一个表。再次感谢。。 id | sender |,mysql,Mysql,在这种情况下,您会认为接收方不在…唯一发送方将消除这些。很高兴你找到了解决办法!现在用括号括起来怎么样(发送方=10或接收方=10)?非常感谢您抽出时间,但似乎仍然没有按预期工作。为了简化查询,我正在制作另一个表。再次感谢。。 id | sender | receiver | msg 1 | 10 | 5 | hello 2 10 5 df 3 5 10 fds 4 1
在这种情况下,您会认为
接收方不在…
唯一发送方将消除这些。很高兴你找到了解决办法!现在用括号括起来怎么样(发送方=10或接收方=10)?非常感谢您抽出时间,但似乎仍然没有按预期工作。为了简化查询,我正在制作另一个表。再次感谢。。
id | sender | receiver | msg
1 | 10 | 5 | hello
2 10 5 df
3 5 10 fds
4 10 7 sdf
SELECT ID, Sender, Receiver
FROM (SELECT A.*
, Case when user1 = @user1 and user2 = @user2 then @RN:=@RN+1 else @RN:=1 end as RN
, case when user1 = @User1 then user1 else @user1:=user1 end u1
, case when user2 = @User2 then user2 else @user2:=user2 end u2
FROM (SELECT ID, sender, receiver
, case when Sender < Receiver then Sender else Receiver end user1
, case when Sender > Receiver then Sender else Receiver end user2
FROM SQLFOo) A
cross join (Select @RN:=0, @User1:='', @user2:='') b
ORDER BY U1, U2, ID
) C
WHERE RN = 1
#based on last comment is this what you mean?
# AND (Sender = 10 or receiver = 10);
SELECT * FROM messages WHERE receiver NOT IN
(SELECT sender FROM messages WHERE sender = 10 or receiver = 10 GROUP by sender)
AND (sender = 10 OR receiver = 10);