Я использую пример данных, описанных здесь
Я хотел бы иметь список учреждений с подсчетом их количества по всем статьям для данного автора.
Этот запрос дает список, который является правильным
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.
Я не могу перевести это количество с помощью 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
И это кажется совершенно неправильным ...
Спасибо за исправление!
François