Athena 计算两个表上的重复行

Posted

技术标签:

【中文标题】Athena 计算两个表上的重复行【英文标题】:Athena count duplicate rows over two tables 【发布时间】:2021-09-02 01:36:39 【问题描述】:

是否可以比较雅典娜中两列的唯一值,输出两列重复值的计数?

我有两张表,ID列有以下数据

表 A:

AAA
AAA
AAA
BBB
CCC

表 B:

AAA
BBB
DDD

此数据的输出应为 2,因为表 A 中的两个唯一值在表 B 中。 我将如何比较像这样的不同表格?

【问题讨论】:

【参考方案1】:

使用连接和计数不同的元素应该可以解决问题:

SELECT count(distinct Table1.Id)
FROM Table1
JOIN Table2 ON Table1.Id = Table2.Id

【讨论】:

【参考方案2】:

假设b是唯一的,你可以试试:

select count(*)
from b
where exists (select 1 from a where a.col = b.col);

【讨论】:

以上是关于Athena 计算两个表上的重复行的主要内容,如果未能解决你的问题,请参考以下文章

在 athena 上工作时,数据在 redshift 外部表上显示为空

两个不同表上的 group_concat 在第二个表上给出重复的结果

如何将可重复使用的多行/多列表从一个 Excel 工作表复制到另一个工作表上的数据库

MySQL - 计算多个表上的相关行数

如何查找和计算两个不同数据帧之间的重复行数? [关闭]

仅对 MYSQL 中最后返回的行执行 JOIN [重复]