我试图计算以下三个结果的总和,但只得到一个结果的计数。

$sql = "(SELECT COUNT(*) FROM  table1 WHERE somecondition)
UNION
(SELECT COUNT(*) FROM  table2 WHERE somecondition)
UNION
(SELECT COUNT(*) FROM  table3 WHERE somecondition)";

有人能帮忙吗?谢谢

最佳答案

查询将返回三行,其中包含三个单独的计数。
你想要的是

  select sum(c) from (
      (SELECT COUNT(*) AS c FROM  table1 WHERE somecondition)
      UNION
      (SELECT COUNT(*) FROM  table2 WHERE somecondition)
      UNION
      (SELECT COUNT(*) FROM  table3 WHERE somecondition)
  ) all_three

关于mysql - 选择计数(*)没有给出正确的计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10345040/

10-12 12:44
查看更多