Tôi đang cố gắng lấy Sản phẩm của tất cả các hàng cho một cột cụ thể trong một nhóm theo truy vấn. Hầu hết các ví dụ tôi đã tìm thấy tôi hướng tới việc kết hợp exp
, sum
vàlog
exp(sum(log([Column A])))
Vấn đề tôi gặp phải là cột chứa một số số không cho các giá trị và do đó tôi gặp lỗi này khi các số không được chuyển đến log
hàm:
Một hoạt động điểm nổi không hợp lệ đã xảy ra.
Tôi nghĩ rằng tôi có thể giải quyết vấn đề này bằng cách sử dụng một case
biểu thức, nhưng điều đó không hoạt động theo cách tôi nghĩ nó nên, vì nó dường như đánh giá tất cả các trường hợp ...
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
Cho tập kết quả sau:
Id Name Value
_________________________________
1 a 1
2 a 2
3 b 0
4 b 1
Tôi mong đợi để có được các hàng sau:
Name Product
_____________
a 2
b 0
Vì vậy, tóm lại ... Làm thế nào để bạn nhân các hàng trong một cột có thể chứa các số có giá trị âm hoặc bằng 0?