红移平均值不返回小数



我不知道如何在平均计算中返回小数。

我有:

select
r_i_flag,
mr_age_bucket,
count(request_id) as sum_requests,
avg(age_of_mr_days) as avg_age_of_mr_days,
median(age_of_mr_days) as median_age_of_mr_days
from
together
group by
1,
2
order by
1 desc,
2

我尝试过将mr_age_bucket转换为数字,尝试过使用to_number将平均值/中值转换为数字、小数,但我只是得到了四舍五入的数字:

sum_requests<1>
r_i_flagmr_age_bucketavg_age_of_mr_daysmedian_age_of_mr_days
零售<7天291
零售>7天1074630
机构<7天
机构>7天

问题是传递给AVG的数据类型,只需将其除以1.0即可。铸造到DOUBLE PRECISIONREAL也将工作

select
r_i_flag,
mr_age_bucket,
count(request_id) as sum_requests,
avg(age_of_mr_days / 1.0) as avg_age_of_mr_days,
avg(age_of_mr_days::double precision),
avg(age_of_mr_days::real),
median(age_of_mr_days) as median_age_of_mr_days
from
together
group by
1,
2
order by
1 desc,
2

最新更新