我正在尝试对表格中的行进行计数。目前我正在使用这个:
$sql = "SELECT COUNT(*)
FROM `friends`
WHERE `user1`='".$user1."'
AND `user2`='".$user2."'
AND `valid`=0
UNION
SELECT COUNT(*)
FROM `friends`
WHERE `user1`='".$user2."'
AND `user2`='".$user1."'
AND `valid`=0";
如您所见,user1
可以是 $user1
和 $user2
。但它不计算 UNION
之后的行数,它只执行 UNION
之前的第一个查询,所以当我实际上应该计算 1 行时我以 0 结尾。
我该如何解决?
最佳答案
另一种选择,将您的查询替换为:
$sql = "SELECT COUNT(*)
FROM `friends`
WHERE (
(`user1`='".$user1."' AND `user2`='".$user2."') OR
(`user1`='".$user2."' AND `user2`='".$user1."')
)
AND `valid`=0";
关于php - SQL Union 只计算一个查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11438015/