Ir para conteúdo
Fórum Script Brasil
  • 0

Consultar N últimos registros de uma consulta.


OTAVIO1981

Pergunta

Tenho uma consulta que me retorna os seguintes dados: Nomes dos Clientes e Data da compra. Exemplo:

João: 01/08

João: 30/7

João: 28/7

Maria: 20/8

Maria: 10/8

José: 01/8

Tem como eu criar uma consulta que filtre apenas as últimas N compras efetuadas de cada cliente. Supondo que eu quissesse as últimas 2 compras de cada cliente o resultado seria:

João: 01/08

João: 30/7

Maria: 20/8

Maria: 10/8

José: 01/8

Desde já agradeço pela ajuda.

Obrigado

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Como disse mais sem saber maiores detalhes do seu BD vou deixar uma expressão SQL para gerar uma consulta da forma que penso que vá funcionar.

select suaData, seuNome, count(suaData) as contagem from sua tabela where contagem > (max(contagem)-5);

Se não funcionar tente fazer uma consulta somente assim:

select suaData, seuNome, count(suaData) as contagem from sua tabela;

e em seguida supondo que essa consulta que vocÊ acabou de criar va se chamar suaConsulta, faça algo assim:

select suaData, seuNome, count(suaData) as contagem from suaConsulta tabela where contagem > (max(contagem)-5);

Como disse não testei mais acredito que uma das formas deva lhe servir.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá a todos,

Estou com a mesma necessidade qe o OTAVIO1981. Eu possuo uma consulta onde é listada todas as compras feitas dos produtos. agora eu preciso gerar uma consulta que liste somente as 3 ultimas compras. os campos de referncia são [DTENT] para a data da compra e [DESCR] para o nome do produto. o campo DTENT tem que estar em ordem decrescente (as 3 ultimas compras). Já tentei usar os exemplos mencionados mas sem sucesso. se alguém puder ajudar desde já agradeço

agradeço. abaixo deixo o link do BD em questão.

http://www.ueboo.com/files/741852/bd.mdb_369258.php

Editado por Leandro de Sá
Link para o comentário
Compartilhar em outros sites

  • 0
Na vista SQL da consulta, em vez de SELECT FC11100.CDFIL, ..., coloque SELECT TOP 3 FC11100.CDFIL, ...

Olá, Alexandre, td ok?

Então, fiz isto mas usando silplesmente a função TOP, é retornado os 3 primeiros registros. O que se deseja fazer é obter os 3 últimos registros de cada substãncia. Ou seja, os 3 últimos registros de compra [DTENT] de cada substãncia [DESCR].

o resultado da consulta deve ser assim:

5 FLUORO URACIL - 14/09/2007

5 FLUORO URACIL - 27/07/2005

ABACATEIRO - 03/07/2009

ABACATEIRO - 04/06/2008

ABACATEIRO - 07/02/2007

AC ACETIL SALICILICO - 14/07/2009

AC ACETIL SALICILICO - 18/08/2009

AC ACETIL SALICILICO - 11/03/2009

.

.

.

E DEMAIS SUBSTÂNCIAS DA CONSULTA.

O resultado esperado é 3 últimas compras de cada substãncia.

Desde já agradeço o retorno.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...