e.g.
SampleTable
| COL1 | COL2 |
| A | 100 |
| A | 33 |
| B | 2 |
| B | 3 |
| B | 4 |
| C | 6 |
Result
| COL1 | PROD |
| A | 3300 |
| B | 24 |
| C | 6 |
Solution: -
We will use some basic mathematics to resolve this
i.e. Log(A * B) = Log A + Log B
so it is simple now :-)
SQL :
SELECT Col1, exp(sum(log(col2))) as PROD
FROM SampleTable
Group BY COL1;
ORACLE :
SELECT Col1, exp(sum(log(10,col2))) as PROD
FROM SampleTable
Group BY COL1;
No comments:
Post a Comment