我有两个具有相同结构的表:
表-1:
+----------------------+--------------+-----+
| Field | Type | Key |
+----------------------+--------------+-----+
| id | int(5) | PRI |
| country | varchar(500) | |
+----------------------+--------------+-----|
表-2:
+----------------------+--------------+-----+
| Field | Type | Key |
+----------------------+--------------+-----+
| id | int(5) | PRI |
| country | varchar(500) | |
+----------------------+--------------+-----|
表格中的数据如下: 表-1:
+----+---------+
|id | country |
+----+---------+
| 1 | A |
| 2 | B |
| 3 | A |
| 4 | A |
| 5 | B |
+----+---------+
表-2:
+----+---------+
|id | country |
+----+---------+
| 1 | A |
| 2 | B |
| 3 | B |
| 4 | B |
| 5 | B |
+----+---------+
当我使用以下查询语句时:
SELECT country, COUNT(*) AS result FROM table-1 GROUP BY country UNION SELECT country, COUNT(*) AS result FROM table-2 GROUP BY country;
我得到的结果如下:
+--------+---------+
|country | result |
+--------+---------+
| A | 3 |
| B | 2 |
| A | 1 |
| B | 4 |
+--------+---------+
分别显示table-1和table-2的计数。但我希望计数结合如下:
+--------+---------+
|country | result |
+--------+---------+
| A | 4 |
| B | 6 |
+--------+---------+
提前致谢。
答案 0 :(得分:1)
select t.country,count(t.country)
from
(
select * from table1
union all
select * from table2
) t group by t.country
<强> Demo 强>