有人可以幫助我理解相關查詢。以下是我試圖理解的查詢,但無法從中獲得任何信息。請幫助。謝謝。無法理解相關查詢
--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
我也不明白。假設你必須改變別人的工作,那麼從頭開始可能會更好。 –