如何从2个不同的表中进行计数,然后将它们加起来总计?

时间:2019-02-08 14:06:05

标签: mysql count sum

例如,我有2个表,分别为"TABLE_ZOO""TABLE_VET" 包含称为"Animals"的同一列。

首先,我想计算两个表中的所有动物 其次,我然后想做一个总和并获得一个数值作为输出。

  

所以如果Zoo中的动物= 10

     

and VET = 4我的结果应该是14

2 个答案:

答案 0 :(得分:0)

尝试一下

SELECT (Select Count(*) from Table_Zoo) + (Select Count(*) from Table_VET) as Total

然后根据需要在括号内设置过滤器

答案 1 :(得分:0)

您可以做的是利用子查询来获得所需的结果。

示例表:

CREATE TABLE TABLE_ZOO(id int(11), animal varchar(100));
CREATE TABLE TABLE_VET(id int(11), animal varchar(100));

INSERT INTO TABLE_ZOO VALUES(1, 'Lion');
INSERT INTO TABLE_ZOO VALUES(2, 'Zebra');
INSERT INTO TABLE_ZOO VALUES(3, 'Penguin');
INSERT INTO TABLE_ZOO VALUES(4, 'Polar Bear');
INSERT INTO TABLE_ZOO VALUES(5, 'Dolphin');
INSERT INTO TABLE_ZOO VALUES(6, 'Shark');
INSERT INTO TABLE_ZOO VALUES(7, 'Cheeta');
INSERT INTO TABLE_ZOO VALUES(8, 'Panda');
INSERT INTO TABLE_ZOO VALUES(9, 'Monkey');
INSERT INTO TABLE_ZOO VALUES(10, 'Gorilla');

INSERT INTO TABLE_VET VALUES(1, 'Cat');
INSERT INTO TABLE_VET VALUES(2, 'Dog');
INSERT INTO TABLE_VET VALUES(3, 'Hamster');
INSERT INTO TABLE_VET VALUES(4, 'Fish');

示例SQL:

SELECT
(SELECT COUNT(id)
 FROM TABLE_ZOO) as ZOO_COUNT,
(SELECT COUNT(id)
 FROM TABLE_VET) as VET_COUNT,
((SELECT COUNT(id)
  FROM TABLE_ZOO))+
((SELECT COUNT(id)
  FROM TABLE_VET)) as TOTAL_COUNT
FROM TABLE_ZOO
LIMIT 1;

输出:

SQL Test

SQL测试链接here

所以我在这里基本上要做的是创建子查询,并为其赋予有意义的别名,以便我们知道哪个计数是哪个。

有关子查询here的一些基本信息。