【发布时间】:2019-01-11 14:56:37
【问题描述】:
我正在使用here描述的示例数据
我想要一份机构列表,其中包含指定作者在所有论文中出现次数的计数。
这个查询给出了一个正确的列表
SELECT DISTINCT p.name || ", " || p.country as col1, w2.paper_id, w2.inst_id
FROM (
authors a
INNER JOIN writtenby w1
ON a.author_id = w1.author_id
INNER JOIN writtenby w2
ON w1.paper_id = w2.paper_id
INNER JOIN inst p
ON w2.inst_id = p.inst_id
)
WHERE (a.name) = "De La Rue" AND (a.firstname) = "A"
例如,我计算了 inst_id = 5 出现的 3 次。
我无法用 SQL 翻译这个计数。
我试过了
SELECT DISTINCT p.name || ", " || p.country as col1, count(w2.paper_id)
FROM (
authors a
INNER JOIN writtenby w1
ON a.author_id = w1.author_id
INNER JOIN writtenby w2
ON w1.paper_id = w2.paper_id
INNER JOIN inst p
ON w2.inst_id = p.inst_id
)
WHERE (a.name) = "De La Rue" AND (a.firstname) = "A"
GROUP BY w2.inst_id
返回:
col1 count(w2.paper_id)
Universite de Paris, France 12
Universite de Lyon, France 6
Univ Freiburg, Germany 6
EPFZ, Switzerland 8
这似乎完全错误......
感谢您的更正!
弗朗索瓦
【问题讨论】: