再在自己安装的数据的hr用户模式下测试
<span style="font-size:14px;">SELECT emp.first_name,
emp.salary,
emp.manager_id,
row_number() over(PARTITION BY emp.manager_id ORDER BY emp.salary DESC) row_number_dept, --薪资在部门中的排行
rownum row_number, --行号
ntile(2) over(ORDER BY emp.salary DESC) page_number_nt, --列返回每一行所应该被分配的桶号
AVG(emp.salary) over(PARTITION BY emp.manager_id) avg_salary_department, --该部门薪水均值
SUM(emp.salary) over(PARTITION BY emp.manager_id) sum_salary_department, --该部门薪水总额
COUNT(emp.salary) over(PARTITION BY emp.manager_id) count_emp_department, --部门所有的员工
dense_rank() over(PARTITION BY emp.manager_id ORDER BY emp.salary DESC) rank_salary_dept, --该人员的部门薪水排行
dense_rank() over(ORDER BY emp.salary DESC) dense_rank_salary_company, --该人员的全公司密集排行
rank() over(ORDER BY emp.salary DESC) rank_salary_company,--该人员的全公司排行
MIN(emp.salary) over(PARTITION BY emp.manager_id) min_salary_dept, --部门的最低薪水
MIN(emp.salary) keep(dense_rank FIRST ORDER BY emp.salary) over(PARTITION BY emp.manager_id) min_salary_dept_first, --部门的最低薪水
first_value(emp.salary) over(PARTITION BY emp.manager_id ORDER BY emp.salary) min_salary_dept_firstv, --部门的最低薪水
MAX(emp.salary) over(PARTITION BY emp.manager_id) max_salary_dept, --部门的最高薪水
MAX(emp.salary) keep(dense_rank LAST ORDER BY emp.salary) over(PARTITION BY emp.manager_id) max_salary_dept_last, --部门的最高薪水
last_value(emp.salary) over(PARTITION BY emp.manager_id ORDER BY emp.salary) max_salary_dept_lastv, --部门的最高薪水
lag(emp.first_name, 1, '00') over(ORDER BY emp.salary DESC) last_persion, --薪水在自己前一位的人
lead(emp.first_name, 1, '00') over(ORDER BY emp.salary DESC) next_persion --薪水在自己后一位的人
FROM employees emp
ORDER BY emp.salary DESC;</span>
因篇幅问题不能全部显示,请点此查看更多更全内容