Array
(
)

LIMITAR RANK ORACLE

Robert Maia
|
MVP
    01 ago 2016

Boa noite,
Estou tentando um top 20 de itens mais vendidos por filial em uma tabela, porem até agora só consequi trazer o rank de todos os itens por filial sem limitar ate 20 itens. alguem poderia me dar uma luz ?
SELECT Filial,
Item,
vlvendabruto,
RANK() OVER (PARTITION BY Filial
ORDER BY vlvendabruto DESC, Item) "Rank"
FROM Vendas WHERE dtmovto = '01/08/2016'
Grato,
Robert S. Maia

Huidemar Costa
|
MVP
Pontos: 200
    02 ago 2016

Experimente acrescentar na sua where "rank<=20" ou seja:

#Código

WHERE (dtmovto = '01/08/2016') and (rank <= 20)

Faabiianooc
   - 02 ago 2016

#Código

select * from (SELECT Filial,
Item,
vlvendabruto, 
RANK() OVER (PARTITION BY Filial
ORDER BY vlvendabruto DESC, Item) [rank]
FROM Vendas WHERE dtmovto = ''01/08/2016'') as Dados
where dados.[rank] <= 20