Để tính tổng số bản ghi từ nhiều bảng, sử dụng subquery SELECT COUNT(*) cho từng bảng và cộng chúng lại.
Cú pháp
SELECT
(SELECT COUNT(*) FROM bang_1) +
(SELECT COUNT(*) FROM bang_2) +
(SELECT COUNT(*) FROM bang_3) + ... AS TongSoBanGhi;
Ví dụ với 3 bảng
Bảng users (5 bản ghi), sortingstringdemo (5 bản ghi), userlogintable (3 bản ghi).
Truy vấn cộng tổng
mysql> SELECT
-> (SELECT COUNT(*) FROM users) +
-> (SELECT COUNT(*) FROM sortingstringdemo) +
-> (SELECT COUNT(*) FROM userlogintable) AS TongSoBanGhi;
Kết quả:
+--------------+ | TongSoBanGhi | +--------------+ | 13 | +--------------+
Cách thay thế (UNION ALL):
SELECT SUM(cnt) FROM (
SELECT COUNT(*) AS cnt FROM users
UNION ALL SELECT COUNT(*) FROM sortingstringdemo
UNION ALL SELECT COUNT(*) FROM userlogintable
) AS t;
Cách này linh hoạt hơn khi số lượng bảng lớn hoặc tên bảng lưu trong bảng khác.