有人可以帮助我理解相关查询。以下是我试图理解的查询,但无法从中获得任何信息。请帮助。谢谢。无法理解相关查询
--Step 1
select e1.Name as 'Employee', e1.Salary
from Employee e1
where 3 >
(
select count(distinct e2.Salary)
from Employee e2
where e2.Salary > e1.Salary
)
;
--Step 2
SELECT
d.Name AS 'Department', e1.Name AS 'Employee', e1.Salary
FROM
Employee e1
JOIN
Department d ON e1.DepartmentId = d.Id
WHERE
3 > (SELECT
COUNT(DISTINCT e2.Salary)
FROM
Employee e2
WHERE
e2.Salary > e1.Salary
AND e1.DepartmentId = e2.DepartmentId
)
;
在第一步,他们希望得到少于3个不同的E1的员工那些有较少的薪水比较E2员工而在2日,他们希望得到同样为第哪来部门一样 – user3712320
好,考虑到第一个查询,你有一个问题,因为第一个查询并没有真正做到(我认为)它试图做的事情 - 我认为哪一个是返回员工薪水最高的三名员工。 – Strawberry
我也不明白。假设你必须改变别人的工作,那么从头开始可能会更好。 –