IN查询的意外结果


unexpected result from IN query

users_groups表

userid  groupid
10  4
10  2
6   4
11  4
12  2
13  2
  $query="SELECT count(*) FROM `users_groups` 
           WHERE `userid`='$fromuserid' 
             AND  `groupid` in (
               SELECT `groupid` 
                 FROM `users_groups` 
                WHERE `userid`=`$touserid
          );";

$fromhuserid=10

$touserid=11

查询用户ID 10和用户ID 11的公共组ID 4。但我的查询返回null。查询有错吗?

查询中存在语法错误。子选择中有一个额外的反勾号。

SELECT count(*)
FROM `users_groups`
WHERE `userid`='$fromuserid'
AND `groupid` in (SELECT `groupid` FROM `users_groups` WHERE `userid`=`$touserid)
--                                                                    ^
--                                                                   here

应该是这样的:

SELECT `groupid` FROM `users_groups` WHERE `userid`=$touserid