STDDEV

2023-07-28 02:55:42  Updated

Syntax

STDDEV([ ALL ] expr) OVER (analytic_clause)

Purpose

STDDEV() returns the population standard deviation of the expr expression. It is an alias for STDDEV_POP().

If no matching row is found, it returns NULL.

Examples

obclient> CREATE TABLE EMPLOYEES (MANAGER_ID INT,LAST_NAME VARCHAR(50),HIREDATE VARCHAR(50),SALARY INT);
INSERT INTO EMPLOYEES VALUES(100, 'RAPHAELY', '2017-07-01', 1700);
INSERT INTO EMPLOYEES VALUES(100, 'DE HAAN', '2018-05-01',11000);      
INSERT INTO EMPLOYEES VALUES(100, 'ERRAZURIZ', '2017-07-21', 1400);
INSERT INTO EMPLOYEES VALUES(100, 'HARTSTEIN', '2019-05-01',14000);     
INSERT INTO EMPLOYEES VALUES(100, 'RAPHAELY', '2017-07-22', 1700);
INSERT INTO EMPLOYEES VALUES(100, 'WEISS',  '2019-07-11',13500);     
INSERT INTO EMPLOYEES VALUES(100, 'RUSSELL', '2019-10-05', 13000);
INSERT INTO EMPLOYEES VALUES(100, 'PARTNERS',  '2018-12-01',14000);     
INSERT INTO EMPLOYEES VALUES(200, 'ROSS',  '2019-06-11',13500);     
INSERT INTO EMPLOYEES VALUES(200, 'BELL', '2019-05-25', 13000);
INSERT INTO EMPLOYEES VALUES(200, 'PART',  '2018-08-11',14000);   
COMMIT;

obclient> SELECT LAST_NAME,SALARY,STD(SALARY) OVER(ORDER BY HIREDATE) AS DEVISION FROM EMPLOYEES WHERE MANAGER_ID = 100;
+-----------+--------+-------------------+
| LAST_NAME | SALARY | DEVISION          |
+-----------+--------+-------------------+
| RAPHAELY  |   1700 |                 0 |
| ERRAZURIZ |   1400 |               150 |
| RAPHAELY  |   1700 | 141.4213562373095 |
| DE HAAN   |  11000 | 4072.161588149468 |
| PARTNERS  |  14000 | 5424.610585101939 |
| HARTSTEIN |  14000 | 5787.918451395113 |
| WEISS     |  13500 | 5781.109278485914 |
| RUSSELL   |  13000 | 5637.250548804798 |
+-----------+--------+-------------------+
8 rows in set

Contact Us