2011-07-22 9 views
5

Mam dwie tabele, które liczą wiersze z nich. Na przykład;Jak obliczyć Suma liczby (*) w Mysql

Select count(*) FROM tbl_Events 

Select count(*) FROM tbl_Events2 

Potrzebuję całkowitej liczby. Jak mogę podsumować wynik za pomocą pojedynczego wyciągu?

Odpowiedz

18
select sum(cnt) from (
    select count(*) as cnt from tbl_events 
    union all 
    select count(*) as cnt from tbl_events2 
) as x 
+4

zmienić na 'związkowej all', inaczej dostaniesz nieprawidłowych wyników, gdy obie tabele mają taką samą liczbę rekordów –

+0

dobry połów. Dzięki. –

+0

Teraz jest to, czego potrzebowałem. Dzięki –

3

Spróbuj tego:

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

lub (testowane w MSSQL), w tym:

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

Przypuszczam pierwszy doprowadzi do zwiększenia wydajności, ponieważ ma bardziej oczywistego indeks opcje. Sprawdź jednak, czy to możliwe.

0
Select Count(*) 
From(
Select * From tbl_Events 
Union All 
Select * From tbl_Events2) as A