如何在单个查询中获取不同数据库中两个表的行数?
为此,可以使用聚合函数COUNT(*)。我们首先在数据库“web”中创建一个表-
mysql> create table DemoTable1 -> ( -> Value int -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable1 values(10); mysql> insert into DemoTable1 values(20);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable1;
输出结果
这将产生以下输出-
+-------+ | Value | +-------+ | 10 | | 20 | +-------+ 2 rows in set (0.00 sec)
以下是在另一个名为“test”的数据库中创建第二张表的查询-
mysql> create table DemoTable2 -> ( -> Value int -> );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable2 values(100); mysql> insert into DemoTable2 values(200);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable2;
输出结果
这将产生以下输出-
+-------+ | Value | +-------+ |100 | |200 | +-------+ 2 rows in set (0.00 sec)
以下是在单个查询中获取不同数据库中2个表的行数的查询-
mysql> select -> ( -> select count(*) from web.DemoTable1) AS Table1Count, -> (select count(*) from test.DemoTable2) AS Table2Count;
输出结果
这将产生以下输出-
+---------------+---------------+ | Table1Count | Table2Count | +---------------+---------------+ | 2 | 2 | +---------------+---------------+ 1 row in set (0.06 sec)