【发布时间】:2023-03-04 09:00:01
【问题描述】:
我正在做一个项目,我必须将两个表一起比较并求和出现的次数。对于这个例子,我将使用 name 作为我想要比较的键。我使用了 Union all 和 Count(*) 但它不会给我想要的输出。
餐桌苹果
+----+-------+---------+
| Id | Name | Surname |
+----+-------+---------+
| 1 | Adam | Jaxon |
| 2 | Adam | Brixton |
| 3 | Brian | Simpson |
| 4 | Adam | Steper |
| 5 | Brian | Bastion |
+----+-------+---------+
桌子橙色
+----+-------+---------+
| id | name | surname |
+----+-------+---------+
| 1 | Adam | Thompson|
| 2 | Brian | Coach |
| 3 | Jhon | Sinded |
+----+-------+---------+
Adam 有一个名字匹配,Brian 有一个名字匹配,所以我希望收到的输出是
+-------+
| Total |
+-------+
| 3 |
| 1 |
+--------+
我使用的查询与回答问题的人相似,但变化不大。不幸的是,这只返回每个名称的匹配数
SELECT COUNT(*)
FROM
(
SELECT Name
FROM
apple
UNION ALL
SELECT
NAME
FROM
orange
) as named
GROUP BY name
+----------+
| Count(*) |
+----------+
| 2
| 3
+----------+
【问题讨论】:
-
苹果中有三个亚当,橙子中有两个亚当。这会被视为计数 1 吗?
-
来吧。向我们展示一些努力。
-
为什么不考虑
surname? -
@rocks 一定是 - 结果怎么可能是 2?
标签: mysql sql database compare