когда count использует string_agg не считается правильно в postgres? - PullRequest
0 голосов
/ 28 апреля 2018
SELECT concepts.*, 
string_agg(DISTINCT concept_skill, ', ') AS skillsSortedById, 
COUNT (likes.concept_id) AS counted
FROM concepts
INNER JOIN concept_skills ON 
(concepts.concept_id=concept_skills.concept_id)
INNER JOIN likes ON (concepts.concept_id=likes.concept_id)
GROUP BY concept_skills.concept_id, concepts.concept_id
ORDER BY counted desc;

почему-то, когда счетчик использования с string_agg счетчик умножает каждый на 4 и дает неправильный результат, но если я использую счетчик без string_agg, он дает точный результат, может кто-нибудь помочь с этим, почему это так?

1 Ответ

0 голосов
/ 28 апреля 2018

Проблема с вашим запросом в том, что вы выполняете подсчет после присоединения.

См. Мой отредактированный SQL Fiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...