Question #231

Author: admin
tags: PostgreSQL   SQL  
Table "workers":
 id | department | salary
----+------------+--------
  1 | marketing  |   2100
  2 | marketing  |   2900
  3 | software   |   4000
  4 | software   |   6000
What will this SQL query return?
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
Rate the difficulty of the question:
easyhard