2
ユーザーの給与と部門を示すレコードがあります。 ランキングとその差分を知りたいです。ポストグルウィンドウ機能ランク
SELECT depname, empno, salary, rank() OVER (PARTITION BY depname ORDER BY salary DESC) FROM empsalary;
depname | empno | salary | rank
-----------+-------+--------+------
develop | 8 | 6000 | 1
develop | 10 | 5200 | 2
develop | 11 | 5200 | 2
develop | 9 | 4500 | 4
develop | 7 | 4200 | 5
personnel | 2 | 3900 | 1
personnel | 5 | 3500 | 2
sales | 1 | 5000 | 1
sales | 4 | 4800 | 2
sales | 3 | 4800 | 2
Iは、それぞれの違いは給料
depname | empno | salary | rank | diff
-----------+-------+--------+------+------
develop | 8 | 6000 | 1 | 800
develop | 10 | 5200 | 2 | 700
develop | 11 | 5200 | 2 | 700
develop | 9 | 4500 | 4 | 300
develop | 7 | 4200 | 5 |
personnel | 2 | 3900 | 1 | 400
personnel | 5 | 3500 | 2 |
sales | 1 | 5000 | 1 | 200
sales | 4 | 4800 | 2 |
sales | 3 | 4800 | 2 |
は私に上記返すクエリを教えるランク知りたいのです。
SELECT depname, empno, salary,
rank() OVER (PARTITION BY depname ORDER BY salary DESC) as rnk,
(salary - lag(salary) over (partition by depname order by salary desc)) as diff
FROM empsalary;
EDIT:
ハイテクmo12mo34質問;-) – Claudio
に答えることを試みることが – hardillb
給与・ラグ(給与の作品、なぜ人々は学ぶことができるので、これにいくつかの説明を追加してください。 )得意先名で給与に差異を与えます – Claudio