我有一个"主人"表(cited_papers
)144,194行,"样本" table(publication
),其中包含7,977个这样的行的示例。我正在尝试获取主表中但不是样本表的行(通过其唯一的id
字段):
SELECT DISTINCT c.*
FROM alex_WOS.cited_papers as c LEFT JOIN alex_WOS.publication USING (id)
WHERE alex_WOS.publication.id IS NULL
这样可行,但我得到的结果数是141,019。为什么这些计数加起来呢? (141,019 + 7977!= 144,194)我做了一个SELECT DISTINCT
来计算主表和样本表中的行,所以我确信这两个表中都没有重复。
答案 0 :(得分:1)
独特的可能是甩掉东西。运行以下查询以验证您的号码。
验证“主”行的数量:
SELECT count(*) FROM alex_WOS.cited_papers
验证“样本”行的数量:
SELECT count(*) FROM alex_WOS.publication
验证“样本”表中没有的“主”行数:
SELECT count(*) FROM alex_WOS.cited_papers c LEFT JOIN alex_WOS.publication p USING(id) WHERE p.id IS NULL
这些数字应加起来......
答案 1 :(得分:0)
正如JNevill建议的那样,我的sample
表毕竟不是master
的子集。我是假人......