提问人:4d61726b 提问时间:2/12/2023 更新时间:2/12/2023 访问量:38
Postgres 浮点列总和增量。更新架构或使用强制转换?
Postgres float column sum delta. Update schema or use cast?
问:
这不是一件新鲜事,但我只是想听听你的意见。 在这种情况下,更好的解决方案是什么:
有一列具有浮点值:
Column | Type | Collation | Nullable |
----------------------------------------
work_res | real | | not null |
当我计算整个表时,它给出了一个值,假设 100.2123sum
select sum(work_res) from work_data
>> 100.2123
但是当我处理相同的数据并首先进行分组时,然后进行 do ,那么总和是 100.9124sum
select sum(gd.work_res)
from (
select type, sum(work_res) as work_res
from work_data
group by type
) as gd
>> 100.9124
type
例如,列只是作为分组依据的列
所以问题就在这里。如果我将在 sum 函数中使用 cast to,那么数字是相同的。double precision
select sum(cast(work_res as double precision)) from work_data
>> 100.9124
您能否告诉我什么是更好的解决方案:
- 每次都使用投射
- 更新架构
列中的值可以在 (0, 1) 范围内。 例如,它可以是:0.(3)、1、0.5、0。(1)以此类推
我认为在这两种情况下,我仍然会看到一个小的增量。右?
多谢
答: 暂无答案
评论