Oracle Window Functions
Ratio_To_Report
Provides the ratio of the current rows value to all the values within the window.
--Data
CREATE TABLE Employees (Name VARCHAR2(30), Salary NUMBER(10));
INSERT INTO Employees VALUES ('Bob',2500);
INSERT INTO Employees VALUES ('Alice',3500);
INSERT INTO Employees VALUES ('Tom',2700);
INSERT INTO Employees VALUES ('Sue',2000);
--Query
SELECT Name, Salary, RATIO_TO_REPORT(Salary) OVER () AS Ratio
FROM Employees
ORDER BY Salary, Name, Ratio;
--Output
NAME SALARY RATIO
------------------------------ ---------- ----------
Sue 2000 .186915888
Bob 2500 .23364486
Tom 2700 .252336449
Alice 3500 .327102804