[Homework] Data Aggregation - 17. 3rd Highest Salary
Привет,
Пъна се като теле на мост от два дена с тази задача и не мога да разбера защо не ми дава верен резултат в judge :).
Следната заявка би трябвало да е правилна:
WITH
DepartmentIdSalaryRows
AS
(
SELECT
e.DepartmentID,
e.Salary,
ROW_NUMBER() OVER(PARTITION BY e.DepartmentID ORDER BY e.Salary DESC) AS RowNumber
FROM
Employees e
)
SELECT
di.DepartmentID,
di.Salary AS ThirdHighestSalary
from
DepartmentIdSalaryRows di
where
RowNumber = 3
Пробвах всякакви вариации с имената на колоните, преправих заявката да показва NULL за отдела, за който няма RowNumber 3 и не става и не става.
Гледам, че има няколко човека, на които им е дало точки, та ако може да споделят какво не правя като хората.
Хубаво предложение, ще го тествам :).
Става и по сложния начин - с още едно cte, в което да има distinct DepartmentId и Salary.