我正在尝试从多个表中进行计数,但每个表中可能有多个条目。这里简化了简单的样本数据。实际上有超过3个表,但我才明白如何做到这一点
table2 table2 table3
person_ID person_id person_id
1 1 2
2 1 2
3 2 1
4 2 4
5 4 5
我正在尝试计算每个表中每个人ID的计数,因此输出将如下。请注意,personID是一个键,我不需要添加ID不是2 + 2 + 2 + 2的ID号。但是,它在所有表格中出现的次数的计数,然后每个表格中的计数加在一起,表示它的总出现次数。基本上我试图找到附加到每个personID的项目总数
person_id total
1 4
2 4
3 1
4 3
5 2
答案 0 :(得分:3)
从union
中选择所有表格中的ID。该结果可以按ID分组并计算每个
select person_id, count(*) as count
from
(
select person_id from table1
union all
select person_id from table2
union all
select person_id from table3
) tmp
group by person_id