SELECT P.FirstName, d.Name, EDH.StartDate
FROM HumanResources.EmployeeDepartmentHistory edh INNER JOIN HumanResources.Department d
ON EDH.DepartmentID=D.DepartmentID
INNER JOIN HumanResources.Employee e
ON EDH.BusinessEntityID=E.BusinessEntityID
INNER JOIN Person.Person P
ON E.BusinessEntityID=P.BusinessEntityID
WHERE EndDate IS NULL
ORDER BY D.NAME;
Я пытаюсь перечислить человека в каждом отделе, который работал там дольше всего. Я знаю, что использование top (1) для каждого отдела, скорее всего, будет лучшим вариантом, но я могу понять, будет ли лучше использование раздела или группы по в этом случае. У кого-нибудь с большим умением, чем у меня, есть идеи?