表my_obj
中有两个整数字段:
(value_a integer, value_b integer);
我试着计算多少时间value_a = value_b
,我想用百分比来表示这个比率。这是我尝试过的代码:
select sum(case when o.value_a = o.value_b then 1 else 0 end) as nb_ok,
sum(case when o.value_a != o.value_b then 1 else 0 end) as nb_not_ok,
compute_percent(nb_ok,nb_not_ok)
from my_obj as o
group by o.property_name;
compute_percent
是一个简单的存储过程(a * 100) / (a + b)
但是 PostgreSQL 抱怨该列nb_ok
不存在。
你会如何正确地做到这一点?
我将 PostgreSQL 9.1 与 Ubuntu 12.04 一起使用。