sql >> Databasteknik >  >> RDS >> Oracle

Få toppresultat för varje grupp (i Oracle)

Jag har ingen orakelinstans till hands just nu så jag har inte testat detta:

select *
from (select emp_id, name, occupation,
      rank() over ( partition by occupation order by emp_id) rank
      from employee)
where rank <= 3

Här är en länk om hur rank fungerar:http://www.psoug.org/reference/rank.html



  1. Hur man får dagnamnet från ett datum i Oracle

  2. Infoga i... Sammanfoga... Välj (SQL-server)

  3. Lägg till 2 timmar till nuvarande tid i MySQL?

  4. Kontrollera om en temporär tabell finns och ta bort om den finns innan du skapar en temporär tabell