【问题标题】: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
    

    【讨论】:

      猜你喜欢
      • 2015-01-25
      • 2013-12-30
      • 1970-01-01
      • 1970-01-01
      • 2018-11-16
      • 2019-02-12
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      相关资源
      最近更新 更多