Pegar ultimas tres datas cadastradas por cliente

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Pessoal, to tentando montar uma query que me traga as ultimas tres datas cadastradas de cada cliente. Tem o campo client_nm e client_dt. Preciso das ultimas tres datas, alguém sabe ocmo montar esse select?
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

consegui da seguinte forma:

Selecionar tudo

      SELECT RECIPIENT, DATE,
       RANK() OVER (PARTITION BY RECIPIENT ORDER BY DATE DESC)  Rans
      FROM transfers
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Na verdade a query correta é essa abaixo:

Selecionar tudo

SELECT recipient
FROM (
 SELECT RECIPIENT, DATE, amount,
              RANK() OVER (PARTITION BY RECIPIENT ORDER BY DATE DESC)  Rans
       FROM transfers) tr
WHERE tr.Rans < 4
group by recipient
Responder
  • Informação