クエリでグループ化された特定の列のすべての行の積を取得しようとしています。私は組み合わせ方のポイントに私を見つけたほとんどの例exp
、sum
およびlog
exp(sum(log([Column A])))
私が抱えている問題は、列に値のゼロが含まれているため、log
関数にゼロが渡されたときにこのエラーが発生することです。
無効な浮動小数点演算が発生しました。
case
式を使用してこれを回避できると思いましたが、すべてのケースを評価しているように見えるので、それは私が思っているように機能しません...
select
Name,
Product = case
when min([Value]) = 0 then 0
when min([Value]) <> 0 then exp(sum(log(I))) -- trying to get the product of all rows in this column
end
from ids
group by Name
次の結果セットがあるとします。
Id Name Value
_________________________________
1 a 1
2 a 2
3 b 0
4 b 1
私は次の行を取得すると予想します:
Name Product
_____________
a 2
b 0
要約すると...負の値またはゼロの値を含むことができる列の行をどのように乗算しますか?