SQL 查询:查找公司内薪资排名相邻的员工
这段 SQL 查询用于从名为 'employee' 的表中查找所有公司内薪资排名相邻的员工。它通过子查询和窗口函数计算每个员工在公司内的薪资排名,然后筛选出排名差值不超过 1 的员工。
查询语句首先使用两个子查询 t1 和 t2。
t1子查询使用row_number()窗口函数根据公司和工资升序对员工进行排名,并返回所有列。t2子查询使用row_number()窗口函数根据公司和工资降序对员工进行排名,并返回所有列。
然后,通过员工 ID 将 t1 和 t2 子查询进行连接。最后,使用 WHERE 语句筛选出满足条件 ABS(CAST(t1.rk AS SIGNED)-CAST(t2.rk AS SIGNED))<=1 的记录,即排名差值不超过 1 的员工。
这段 SQL 查询可以帮助我们快速找到公司内薪资排名相邻的员工,例如用于识别可能存在薪资差异问题或需要特殊关注的员工。
原文地址: https://www.cveoy.top/t/topic/puq5 著作权归作者所有。请勿转载和采集!