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

Đếm số hàng của hai bảng ở hai database khác nhau trong một truy vấn MySQL

Sử dụng subquery scalar trong danh sách SELECT để đếm hàng từ bảng ở database khác (prefix tên database).

Tạo bảng trong database 'web'

mysql> CREATE TABLE DemoTable1 (Value INT);
Query OK, 0 rows affected (0.60 sec)
mysql> INSERT INTO DemoTable1 VALUES(10), (20);
Query OK, 2 rows affected (0.19 sec)

Tạo bảng trong database 'test'

mysql> CREATE TABLE DemoTable2 (Value INT);
Query OK, 0 rows affected (0.68 sec)
mysql> INSERT INTO DemoTable2 VALUES(100), (200);
Query OK, 2 rows affected (0.12 sec)

Truy vấn đếm hàng cả hai database

mysql> SELECT
    -> (SELECT COUNT(*) FROM web.DemoTable1) AS Table1Count,
    -> (SELECT COUNT(*) FROM test.DemoTable2) AS Table2Count;

Kết quả:

+---------------+---------------+
| Table1Count   | Table2Count   |
+---------------+---------------+
| 2             | 2             |
+---------------+---------------+
1 row in set (0.06 sec)

Yêu cầu: User phải có quyền SELECT trên cả hai database. Cú pháp: database_name.table_name.