postgresql – 选择查询自定义计算列以舍入到2个小数位
发布时间:2020-12-13 15:57:47 所属栏目:百科 来源:网络整理
导读:我有一个表有一些列a,b,我需要添加一个自定义列c_avg,它将具有该值 c_avg = a * 100 / b最多2个十进制值 我的原始表是这样的 id a b1 1 22 2 33 2 0 我已经提出了这个查询,但似乎这会将值返回为整数. select round( CAST((CASE WHEN b=0 THEN '0.00' ELSE ro
我有一个表有一些列a,b,我需要添加一个自定义列c_avg,它将具有该值
c_avg = a * 100 / b最多2个十进制值 我的原始表是这样的 id a b 1 1 2 2 2 3 3 2 0 我已经提出了这个查询,但似乎这会将值返回为整数. select round( CAST((CASE WHEN b=0 THEN '0.00' ELSE round(((a*100)/b),2) END ) as numeric),2) as c_avg from table_name 我得到输出为 a b c_avg 1 2 0 2 3 0 我需要这样的东西 a b c_avg 1 2 0.50 2 3 0.66 2 0 0 我在amazon redshift上的Postgresql版本是PostgreSQL 8.0.2 我正在用这张桌子做一些事情 select sum(a) as aa,sum(b) as bb,groub_by_column round( CAST((CASE WHEN sum(b)=0 THEN '0.00' ELSE round(((sum(a)*100)/sum(b)),2) END ) as numeric),2) as c_avg from table group by groub_by_column 这会将我的值返回0而不是0. * 谢谢 postgresql中的除法运算截断为整数值 select round((4000/576::float),3) as result; 将meta :: float添加到除法运算中会得到所需的结果,它不会将输出截断为整数值. 解决方法
postgresql中的除法运算截断为整数值才发现
select round((4000/576::float),它不会将输出截断为整数值. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |