sql >> Databasteknik >  >> RDS >> Oracle

De två första lönerna på varje avdelning

Jag inser att du bad om det här i Oracle. Jag kan inte hjälpa dig där.

Men om du ser lösningen i MSSQL/TSQL kanske det hjälper?

select 
     d.Salary
    ,d.Department
from
(
    select 
         r.Salary
        ,r.Department
        ,row_number() over(
            partition by r.Department
            order by r.Salary desc) as RowNumber
    from HumanResources as r
) as d
where d.RowNumber < 3

Lycka till!



  1. Hur kan jag komma utanför foreach loop-värdet i den här situationen?

  2. Hur man förhindrar PostgreSQL från att ändra mina snyggt formaterade SQL-definitioner

  3. MySQL bulk drop tabell där tabell som?

  4. Skicka formulärproblem... Enter-nyckel