Syntax
SUM([ DISTINCT ALL ] expr) OVER (analytic_clause)
Purpose
You can call this function to return the sum of expr. If the query result set does not contain any row, SUM() returns NULL. The DISTINCT keyword can be used to find the sum of distinct values of expr.
If no matching row is found, SUM() returns NULL.
Examples
obclient> CREATE TABLE EXPLOYEES(LAST_NAME CHAR(10), SALARY DECIMAL, JOB_ID CHAR(32));
Query OK, 0 rows affected (0.08 sec)
obclient> INSERT INTO EXPLOYEES VALUES('JIM', 2000, 'CLEANER');
Query OK, 1 row affected (0.11 sec)
obclient> INSERT INTO EXPLOYEES VALUES('MIKE', 12000, 'ENGINEERING');
Query OK, 1 row affected (0.00 sec)
obclient> INSERT INTO EXPLOYEES VALUES('LILY', 13000, 'ENGINEERING');
Query OK, 1 row affected (0.00 sec)
obclient> INSERT INTO EXPLOYEES VALUES('TOM', 11000, 'ENGINEERING');
Query OK, 1 row affected (0.01 sec)
obclient> SELECT LAST_NAME, SUM(SALARY) OVER (PARTITION BY JOB_ID) TOTAL_S FROM EXPLOYEES;
+-----------+---------+
LAST_NAME TOTAL_S
+-----------+---------+
JIM 2000
MIKE 36000
LILY 36000
TOM 36000
+-----------+---------+
4 rows in set (0.01 sec)