我的任务是:
进行查询将使雇员获得最高的工作经验薪水。换句话说,是收入最高,经验最多的员工。
我认为,我需要使用两个条件进行查询:
select * from employee where salary in (select max(salary) from employee) and
hire_date in (select min(hire_date) from employee)
答案 0 :(得分:0)
我认为这就是您想要做的:
select * from (
select *,
datediff(day,hire_date,getdate()) [Days_Worked],
dense_Rank() over(Partition by datediff(day,hire_date,getdate()) order by salary desc) [RN]
from employee
)a
where a.RN = 1
order by Days_Worked DESC
因此,这将给您列出工作天数相同的员工中薪水最高的员工的列表。
请注意,如果排名较高,例如,如果有2名员工工作了88天,并且都赚了$ 50000(比其他任何人都高),它将列出这两名员工,如果您想使用ROW_NUMBER()而不是DENSE_RANK()将此类示例限制为1名员工。
答案 1 :(得分:0)
如果我正确理解,此查询可以解决您的问题。
var benefitpub = document.getElementById('pubbox');
var advbox2 = document.getElementById('advbox');
window.addEventListener('scroll', function(e) {
if (document.body.scrollTop > benefitpub.getBoundingClientRect().top - 200) {
benefitpub.style.visibility = 'inherit';
}
if (document.body.scrollTop > advbox2.getBoundingClientRect().top - 200) {
advbox2.style.visibility = 'inherit';
}
});