首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当计数与string_agg一起使用时,在postgres中没有正确计数吗?

当计数与string_agg一起使用时,在postgres中没有正确计数吗?
EN

Stack Overflow用户
提问于 2018-04-27 23:09:00
回答 1查看 459关注 0票数 0
代码语言:javascript
复制
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的计数,它会给出确切的结果,有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-27 23:42:30

查询的问题是,您在加入后正在进行计数。

代码语言:javascript
复制
SELECT q.*,  COUNT(l.concept_id) AS counted
FROM (
  SELECT concepts.*, 
  string_agg(DISTINCT concept_skill, ', ') AS skillsSortedById 
  FROM concepts
  INNER JOIN concept_skills ON 
  (concepts.concept_id=concept_skills.concept_id)
  GROUP BY concept_skills.concept_id, concepts.concept_id
) q, likes l
WHERE q.concept_id = l.concept_id
GROUP BY q.concept_id, q.skillsSortedById
ORDER BY counted desc;

见我编辑的SQL Fiddle

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50071307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档