Добавить результаты нескольких запросов COUNT - PullRequest
9 голосов
/ 21 июля 2009

Я пытаюсь получить сумму нескольких подсчетов в одном запросе:

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

Я что-то здесь упускаю. Я получаю синтаксическую ошибку.

Ответы [ 4 ]

16 голосов
/ 21 июля 2009
SELECT ( SELECT COUNT(*) FROM comments ) 
     + ( SELECT COUNT(*) FROM tags ) 
     + ( SELECT COUNT(*) FROM search )
6 голосов
/ 21 июля 2009

Еще один (не уверен, что поддерживается с MySQL, хотя - работает в SQL Server):

SELECT SUM(Counts) FROM
  (SELECT COUNT(*) AS Counts FROM COMMENTS UNION ALL
   SELECT COUNT(*) FROM Tags UNION ALL
   SELECT COUNT(*) FROM Search) s
2 голосов
/ 21 июля 2009
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
    )
2 голосов
/ 21 июля 2009
SELECT (
       SELECT  COUNT(*)
       FROM    comments
       ) +
       (
       SELECT  COUNT(*)
       FROM    tags
       ) +
       (
       SELECT  COUNT(*)
       FROM    search
       )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...