id | department | salary ----+------------+-------- 1 | marketing | 2100 2 | marketing | 2900 3 | software | 4000 4 | software | 6000
SELECT id, department, salary, (avg(salary) OVER (PARTITION BY department))::int FROM workers ORDER BY id;
id | department | salary | avg ----+------------+--------+------ 1 | marketing | 2100 | 2500 2 | marketing | 2900 | 2500 3 | software | 4000 | 5000 4 | software | 6000 | 5000
id | department | salary | avg ----+------------+--------+------ 1 | marketing | 2100 | 3750 2 | marketing | 2900 | 3750 3 | software | 4000 | 3750 4 | software | 6000 | 3750
id | department | salary | avg ----+------------+--------+------ 1 | marketing | 2100 | 2500 1 | marketing | 2100 | 5000 2 | marketing | 2900 | 2500 2 | marketing | 2900 | 5000 3 | software | 4000 | 5000 3 | software | 4000 | 2500 4 | software | 6000 | 5000 4 | software | 6000 | 2500