如何在PostgreSQL中计算空行?

4
在我的postgresql查询中,我想要计算 count(completed::float)
select round(Count(completed::float)) as completed,
       assignee 
from NTE_23Apr19_HCMS_DOW_Defects_List_V1 
group by assignee

这是我的postgresql表

在此输入图片描述

如果我在查询中不使用float,它将正常工作,但我想要使用float。这可能吗?

select round(Count(completed)) as completed,
       assignee 
from NTE_23Apr19_HCMS_DOW_Defects_List_V1 
group by assignee

count(completed)count(completed::float)甚至count(completed)::float都将返回相同的值。你到底想做什么?也许你只是想要count(*)吗? - user330315
如果我使用 count(completed)::float 而不是 count(completed::float),它可以工作。 - arun kumar
那我不知道你在尝试做什么。count返回一个整数,将该整数转换为浮点数不会改变其值。计算浮点值与计算整数值不会返回不同的计数。“它工作了”到底是什么意思?如果“它不工作”,你是否会收到错误提示?你的屏幕截图是你得到的结果还是你期望的结果? - user330315
请编辑您的问题并添加一个最小、完整和可验证的示例,其中应包括一个create table语句,一些insert语句以及期望的输出作为格式化文本请勿使用屏幕截图。请编辑您的问题,不要在评论中发布代码。 - user330315
1个回答

2
在PostgreSQL中,不存在空行。您的值可以是''(空字符串)或NULL值。您可以按以下方式计算这些值: sum(case when completed = '' then 1 else 0 end) sum(case when completed is null then 1 else 0 end) 更好的方法是: sum(case when coalesce(completed,'') = '' then 1 else 0 end) - 这将同时覆盖两种情况。"最初的回答"

我想在上述表格中计算count(decimal),sum(int),avg(float)。如果有人知道,请指导我。 - arun kumar
你需要在问题中添加你想要的结果。 - Georgi Raychev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接