使用 CASE WHEN 子句 POSTGRES 时的百分比差异

percentage difference when using CASE WHEN clause POSTGRES

这是正确的语法吗? 我正在使用 (new/old)-1 的传统方法来计算昨天注册与昨天注册一周之间的百分比差异。我收到“0”,这似乎不对...

select
sum(case when (timestampregistered::date = current_date - 1) then 1 else 0 end)
    / sum(case when timestampregistered::date = current_date - 8 then 1 else 0 end) - 1 as pct_diff
from customers_table

你正在做整数运算,所以你的答案将是整数。 尝试

[...]then 1.0 else 0.0 end