Oracle SQL查询近6个月薪资上涨的员工记录
Oracle SQL:查询近6个月薪资上涨的员工记录
嘿,针对你要获取近6个月薪资上涨员工记录的需求,我先梳理下相关信息,再给出简单的解决方案:
涉及的表结构
咱们用到的表字段结构如下:
Dec (1) | Jan (2) | Feb (3) | Mar (4) | Apr (5) | May (6) | Employee-ID | Amount
需求说明
需要编写Oracle SQL查询语句,筛选出近6个月薪资上涨的员工记录。
给你的提示
你提到需要使用分析函数(analytic function),但目前来看这个需求完全可以用基础SQL语法解决,没必要用到分析函数。这里给你两种常见场景的实现:
场景1:仅检查首尾两个月薪资上涨(最新月薪资>最早月薪资)
如果只需要确认近6个月整体薪资是上涨的(即5月薪资>12月薪资),可以用这条简单的查询:
SELECT "Employee-ID", Amount FROM your_table_name WHERE "May (6)" > "Dec (1)";
场景2:检查每个月薪资都环比上涨
如果需要严格确认每个月的薪资都比上月高,那就扩展条件依次比较相邻月份:
SELECT "Employee-ID", Amount FROM your_table_name WHERE "Jan (2)" > "Dec (1)" AND "Feb (3)" > "Jan (2)" AND "Mar (4)" > "Feb (3)" AND "Apr (5)" > "Mar (4)" AND "May (6)" > "Apr (5)";
内容的提问来源于stack exchange,提问作者Albanian Al
相关产品推荐
相关产品推荐

