我有一个查询:
SELECT count(authors.id), country.name from authors
INNER JOIN articles ON authors.article_id = articles.id
INNER JOIN author_affi_rel ON authors.id = author_affi_rel.id_author
INNER JOIN affiliations ON author_affi_rel.id_affiliation = affiliations.id
INNER JOIN country ON affiliations.country = country.unique_id
WHERE articles.journal_id = 20 AND authors.correspondence =1
GROUP BY country.name
ORDER BY count(authors.id) DESC
我在这里选择每个国家的作者人数。
一切正常,除了在 author_affi_rel 表中,每个作者我可以有多个从属关系,所以在我的结果中,作者将加倍。
我的目标是限制为一个
INNER JOIN author_affi_rel ON authors.id = author_affi_rel.id_author
我试着做:
INNER JOIN author_affi_rel ON authors.id = (SELECT id_author FROM author_affi_rel WHERE id_author = authors.id LIMIT 1)
但是我的查询在那里存货,没有回应。
您是否知道如何进行内部连接并将结果限制为一个。
非常感谢您。