【问题标题】:Count the overlapping values between two tables?计算两个表之间的重叠值?
【发布时间】:2013-06-24 16:15:11
【问题描述】:
我有两个表,它们的结构与序列列相同,我正在尝试计算出现在两个不同表中的序列数。
我现在正在使用这个:
SELECT A.sequence FROM p2.pool A WHERE EXISTS (SELECT * from
p1.pool B WHERE B.sequence = A.sequence)
然后我要计算结果的数量。
有没有更简单的方法可以使用 COUNT 来做到这一点,这样我就不必先获取所有结果?
【问题讨论】:
标签:
sql
sqlite
count
duplicates
【解决方案1】:
是的,使用COUNT 有一个更简单的方法:
SELECT COUNT(*)
FROM p2.pool A
WHERE EXISTS (SELECT *
FROM p1.pool B
WHERE B.sequence = A.sequence)
您也可以使用联接而不是子查询,但速度不太可能改变:
SELECT COUNT(*)
FROM p2.pool A
JOIN p1.pool B ON A.sequence = B.sequence