Как рассчитать сумму счета (*) в Mysql - PullRequest
6 голосов
/ 22 июля 2011

У меня есть две таблицы, в которых я считаю их ряды. Например;

Select count(*) FROM tbl_Events

Select count(*) FROM tbl_Events2

Мне нужен общий счет. Как я могу суммировать результат с одним утверждением?

Ответы [ 3 ]

19 голосов
/ 22 июля 2011
select sum(cnt) from (
    select count(*) as cnt from tbl_events
    union all
    select count(*) as cnt from tbl_events2
) as x
3 голосов
/ 22 июля 2011

Попробуйте это:

SELECT (Select count(*) FROM tbl_Events) + (Select count(*) FROM tbl_Events2)

Или (проверено в MSSQL), это:

SELECT COUNT(*) 
FROM (SELECT * FROM tbl_Events 
      UNION ALL 
      SELECT * FROM tbl_Events2) AS AllEvents

Полагаю, что первое приведет к повышению производительности, поскольку имеет более очевидные параметры индекса. Проверьте, чтобы быть уверенным, хотя.

0 голосов
/ 22 июля 2011
Select Count(*)
From(
Select *    From tbl_Events
Union All
Select *    From tbl_Events2) as A
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...