表my_obj
には、2つの整数フィールドがあります。
(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
単純に行うstored_procedureです(a * 100) / (a + b)
しかし、PostgreSQLは列nb_ok
が存在しないと文句を言います。
どのようにそれを適切に行いますか?
Ubuntu12.04でPostgreSQL9.1を使用しています。