gpt4 book ai didi

PostgreSQL 计算 3 个连接的百分比

转载 作者:行者123 更新时间:2023-11-29 13:10:51 24 4
gpt4 key购买 nike

我正在考虑计算一个百分比值来指示进度。我在同一列(但值不同)上连接来自 3 个独立计数的数据。我是如此接近,但它一直给我零。

SELECT a.count1 / (a.count1 + b.count2 + c.count3) FROM
(SELECT count(*) AS "count1"
FROM "stitch_jira"."issues"
WHERE "stitch_jira"."issues"."fields__status__statusCategory__name" = 'To Do') a
CROSS JOIN
(SELECT count(*) AS "count2"
FROM "stitch_jira"."issues"
WHERE ("stitch_jira"."issues"."fields__status__statusCategory__name" = 'In Progress')) b
CROSS JOIN
(SELECT count(*) AS "count3"
FROM "stitch_jira"."issues"
WHERE ("stitch_jira"."issues"."fields__status__statusCategory__name" = 'Done')) c

关于为什么我在这里得到零结果的任何建议?它应该产生“0.4 ...”

最佳答案

您可以使用条件聚合重写整个查询并转换为小数/乘以 1.0:

SELECT 
1.0*(COUNT(*) FILTER(WHERE fields__status__statusCategory__name='To Do'))/
(COUNT(*) FILTER(WHERE fields__status__statusCategory__name
IN('To Do','In Progress','Done')))
FROM "stitch_jira"."issues"

关于PostgreSQL 计算 3 个连接的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54962730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com