Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 添加多个计数查询的结果_Sql_Mysql - Fatal编程技术网

Sql 添加多个计数查询的结果

Sql 添加多个计数查询的结果,sql,mysql,Sql,Mysql,我试图在一个查询中获取几个计数的总和: SELECT( SELECT COUNT( * ) FROM comments + SELECT COUNT( * ) FROM tags + SELECT COUNT( * ) FROM search ) 我错过了一些东西。我发现语法错误。还有一个错误(但不确定MySQL是否支持-在SQL Server中工作): SELECT ( SELECT COUNT(*) FROM comments )

我试图在一个查询中获取几个计数的总和:

SELECT(
    SELECT COUNT( * )
    FROM comments +
    SELECT COUNT( * )
    FROM tags +
    SELECT COUNT( * )
    FROM search
)
我错过了一些东西。我发现语法错误。

还有一个错误(但不确定MySQL是否支持-在SQL Server中工作):

SELECT ( SELECT COUNT(*) FROM comments ) 
     + ( SELECT COUNT(*) FROM tags ) 
     + ( SELECT COUNT(*) FROM search )

是的,没错。注意:在Oracle中,您必须将“from dual”添加到该语法中。奇怪的是,您的每种语法和公认答案的SQL的优缺点是什么?就性能而言,一个更好吗?还有什么吗?对Liao:运行查询分析器,看看它说了什么。它们可能是同义词。非常好+1表示SQL语句的优雅。它们应该相同;我喜欢我的,因为它打字少很多D@Matt:啊,是的!一个符合我心意的男人——懒惰!我的想法来自于必须一直向非技术人员解释它;额外的按键减少了解释的冗长性。:-@n8wrl:比你快了几分钟。除了dotjoe的catch之外,仅供参考,列别名仅在第一个子选择中需要,因为在联合操作期间,其他三个子选择中忽略了它。@Ken:谢谢。我真正想要的是语法,它允许我引用sum()中的第一列,而不管它的名称如何。没有快乐。
SELECT (
       SELECT  COUNT(*)
       FROM    comments
       ) +
       (
       SELECT  COUNT(*)
       FROM    tags
       ) +
       (
       SELECT  COUNT(*)
       FROM    search
       )
SELECT SUM(Counts) FROM
  (SELECT COUNT(*) AS Counts FROM COMMENTS UNION ALL
   SELECT COUNT(*) FROM Tags UNION ALL
   SELECT COUNT(*) FROM Search) s
SELECT SUM(ThisCount)
  FROM (
    SELECT COUNT(*) AS ThisCount
      FROM comments

    UNION ALL

    SELECT COUNT(*) AS ThisCount
      FROM tags

    UNION ALL

    SELECT COUNT(*) AS ThisCount
      FROM search
    )