我必须要加入表(hmmscan1
和 arath_scan
)。它们都显示相同的列名称,并且 arath_scan
是一个较小的表,包含在 hmmscan1
中。现在我只想选择 hmmscan1
中 hmmscan1
的某一列 (domain_name
) 与 arath_scan
一致的条目。
我使用了以下命令:
SELECT h.auto_inc,
h.query_prot_id,
h.taxon_schema,
h.domain_name
FROM hmmscan1 AS h
INNER JOIN arath_scan
ON h.domain_name = arath_scan.domain_name;
结果是我得到的行数比 hmmscan1
上可用的行数多,而我实际上想要减少......因此,我得到的不是 ~10.000 行,而是包含许多多个条目的 500.000 行。
有人知道为什么吗?
最佳答案
您需要一个分组依据
。试试这个
select h.auto_inc,h.query_prot_id,h.taxon_schema, h.domain_name
from hmmscan1 as h
inner join arath_scan on h.domain_name=arath_scan.domain_name
GROUP BY h.domain_name;
OR 按您想要区分的任何列进行分组。作为h.query_prot_id
关于mysql - 内连接 : Mysql prints more lines than available (same multiple rows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15295850/