Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

MySQL: Cộng tổng từ nhiều truy vấn COUNT (nhiều bảng)

Để 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.