Oracle doesn't have such an aggregation function.
Assuming your values are always positive, you could employ a little trick:
This might introduce inaccuracies, though, due to the
ln and
exp functions.
Another possibility would be to create the aggregation function yourself. It's not really trivial, though. All the gory details (including the exp(sum(ln(x))) trick) can be found
on AskTom.
If I had to create a one-off query returning a product, I'd probably do it in a stored procedure. If it was needed more than, say, three times in the project, I'd probably try to implement the function as described on AskTom.