Retornar 3 ultimos registros de cada cliente

SQL Server

30/09/2005

Preciso fazer uma consulta para retornar a partir de uma tabela, ordenando por data, os 3 ultimos registros de venda de cada cliente.
considerando o exemplo abaixo:

select codigocliente, datavenda, valorvenda from vendas
order by datavenda

a partir deste select preciso filtrar do resulta as 3 ultimas vendas de cada cliente

Um Abraço a todos e agradeço pela anteção


Edjborges

Edjborges

Curtidas 0

Respostas

Beppe

Beppe

30/09/2005

Tente assim:

select v1.codigocliente, v1.datavenda, v1.valorvenda from vendas v1
where campochave in (select top 3 v2.campochave from vendas v2 where v1.codigocliente = v2.codigocliente order by v2.datavenda desc)
order by v1.datavenda



GOSTEI 0
POSTAR