从MySQL中的多个表计数(*)行?

要计算MySQL中多个表中的行,语法如下-

Select
    (select count(*) from yourTableName1) as anyAliasName1,
    (select count(*) from yourTableName2) as anyAliasName2
    from dual;

让我们首先创建一个表-

mysql> create table DemoTable1
   -> (
   -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY
   -> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable1 values(),(),(),(),(),();
Records: 6  Duplicates: 0  Warnings: 0

使用select语句显示表中的所有记录-

mysql> select * from DemoTable1;

这将产生以下输出-

+----+
| Id |
+----+
|  1 |
|  2 |
|  3 |
|  4 |
|  5 |
|  6 |
+----+
6 rows in set (0.00 sec)

以下是创建第二个表的查询-

mysql> create table DemoTable2
    -> (
    -> Name varchar(20)
    -> );

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable2 values('Chris');
mysql> insert into DemoTable2 values('David');

使用select语句显示表中的所有记录-

mysql> select * from DemoTable2;

这将产生以下输出-

+-------+
| Name  |
+-------+
| Chris |
| David |
+-------+
2 rows in set (0.00 sec)

以下是对来自多个表的行进行计数的查询-

mysql> select
   -> (select count(*) from DemoTable1) as FirstTable1Count,
   -> (select count(*) from DemoTable2) as SecondTable2Count
   -> from dual;

这将产生以下输出-

+---------------------+----------------------+
| FirstTable1Count    |    SecondTable2Count |
+---------------------+----------------------+
|                   6 |                    2 |
+---------------------+----------------------+
1 row in set (0.00 sec)