sql >> Database teknologi >  >> RDS >> Oracle

De første to lønninger i hver afdeling

Jeg ved, at du bad om dette i Oracle. Jeg kan ikke hjælpe dig der.

Men måske vil det hjælpe, hvis du ser løsningen i MSSQL/TSQL?

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

Held og lykke!



  1. SQL - Find datoen tættest på den aktuelle dato

  2. Henter XML-elementer fra XMLType Oracle

  3. Brug af Postgresql JDBC-kilde med Apache Spark på EMR

  4. hvor klausul vælger termkoder