Obter registros com período de até 10 dias

Dúvidas, dicas e truques de SQL, Select, Update, Delete, cláusulas, operações com joins, Funções em SQLs, etc
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

Prezados, boa tarde!

Gostaria de pedir um help de vocês, estou precisando obter registros de uma tabela, onde tenho um campo data de abertura de conta e, preciso considerar na minha query, apenas as 10 últimas contas abertas quando baseada com a data atual. Tenho o código abaixo, porém a consulta não está retornando registros. Faltou alguma função para efetivar o cálculo de forma correta? Segue o código abaixo:

Selecionar tudo

select a, b, c 
from xpto.tabela
where c = sysdate - 15;
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

cristhianlor escreveu:Prezados, boa tarde!

Gostaria de pedir um help de vocês, estou precisando obter registros de uma tabela, onde tenho um campo data de abertura de conta e, preciso considerar na minha query, as contas abertas com até 10 dias quando baseada com a data atual. Tenho o código abaixo, porém a consulta não está retornando registros. Faltou alguma função para efetivar o cálculo de forma correta? Segue o código abaixo:

Selecionar tudo

select a, b, c 
from xpto.tabela
where c = sysdate - 10;
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5023
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

O que você está fazendo na sua query é:
Buscando os registros cuja coluna C é exatamente HOJE-10.

Acho que o que você precisa é:
1. Ordernar sua tabela por data. (do mais recente pro mais velho)
2. Buscar apenas os primeiros 10 registros, que vão ser exatamente os 10 mais novos.

Assim: (considerando que a DATA está na coluna C).

Selecionar tudo

select *
from 
  (select a, b, c
  from xpto.tabela
  order by c DESC)
where rownum <=10;
cristhianlor
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Qui, 04 Mar 2010 12:24 am
Localização: SP

Dr. Gori, tudo bem? Na verdade preciso na minha consulta as contas que foram abertas nos últimos 10 dias, independente a data que for fazer esta consulta. Neste caso como faria? Teria que agregar mais funções?

Obrigado pelo retorno
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes