Syntax
STDDEV_SAMP([ ALL ] expr) OVER (analytic_clause)
Purpose
STDDEV_SAMP() returns the sample standard deviation of expr. The result returned by this function is the square root of the result returned by the VAR_SAMP() function.
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,STDDEV_SAMP(salary) OVER(ORDER BY hiredate) AS devision FROM employees WHERE manager_id = 100;
+-----------+--------+--------------------+
| last_name | salary | devision |
+-----------+--------+--------------------+
| RAPHAELY | 1700 | NULL |
| ERRAZURIZ | 1400 | 212.13203435596427 |
| RAPHAELY | 1700 | 173.20508075688772 |
| DE HAAN | 11000 | 4702.127178203499 |
| PARTNERS | 14000 | 6064.899009876422 |
| HARTSTEIN | 14000 | 6340.346993658944 |
| WEISS | 13500 | 6244.31169717116 |
| RUSSELL | 13000 | 6026.474330580266 |
+-----------+--------+--------------------+
8 rows in set