sql >> Databasteknik >  >> RDS >> Oracle

Välj EMP med max SAL från varje DEPT

Du kan också använda den analytiska RANK()-funktionen:

SELECT * FROM (
  SELECT
    Dept.DeptNo,
    Dept.DName,
    Emp.EName,
    Emp.Sal,
    RANK() OVER (PARTITION BY Dept.DeptNo ORDER BY Emp.Sal DESC) AS DeptSalRank
  FROM Emp
  INNER JOIN Dept ON Emp.DeptNo = Dept.DeptNo
)
WHERE DeptSalRank = 1


  1. CONVERT() från datum/tid till strängexempel i SQL Server

  2. PostgreSQL kolumnvärden måste vara i en sekvens

  3. Lägg till en ny kolumn i en stor mysql-tabell

  4. Nedräkning baserad på MySQL-post