Query Oracle trazer valor de um registro agrupado

Oracle

17/03/2016

Prezados colegas agarrei em uma query que pensei ser simples mas está complicado!

Eu tenho uma base de dados onde tenho todas as minhas NF por por produto de entrada de mercadoria, preciso achar o valor do produto na ultima entrada do ano.

Eu cheguei fácil na data da nota de cada produto, agrupei por produto e dei um max na data, até ai tudo bem, mas pra trazer o valor que ta sendo o problema, se eu acrescentar o valor no group by ele mostra o produtos varias vezes!


"SELECT produto, MAX(data) FROM notas WHERE data < '2016-01-01' GROUP BY produto" <--- precisava trazer o valor da ultima entrada nessa query


Desde já agradeço!
David Rocha

David Rocha

Curtidas 0

Respostas

Lourival Queiroz

Lourival Queiroz

17/03/2016

Veja esse exemplo:
select a.data_entrada, a.Item, a.Preco
  from (select data_entrada, Item,  preco,
                     rank() OVER (PARTITION BY Item
                                ORDER BY data_entrada desc) as Ranking
             from nfentrada) a
where a.Ranking = 1
GOSTEI 0
POSTAR