쿼리별로 그룹화 된 특정 열에 대한 모든 행의 제품을 가져 오려고합니다. 나는 결합으로 점을 저를 발견했습니다 대부분의 예 exp
, sum
그리고log
exp(sum(log([Column A])))
내가 겪고있는 문제는 열에 값에 대한 0이 포함되어 있으므로 0이 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
요약하면 ... 음수 또는 0 값을 포함 할 수있는 열의 행을 어떻게 곱합니까?