Selecionar somente o primeiro registro encontrado [Resolvido]
12 respostas
C
CristianoGDT
Pessoal estou com uma pequena dúvida. Preciso obter somente o primeiro registro de um select em Oracle que retorna varios registros, não queria deixar isso pra camada de código java.
Existe algum select que me faça isso. Alguma coisa do tipo: " Selecione somente o primeiro registro where data > ‘01/01/2011’ "
Pessoal estou com uma pequena dúvida. Preciso obter somente o primeiro registro de um select que retorna varios registros, não queria deixar isso pra camada de código java.
Existe algum select que me faça isso. Alguma coisa do tipo: " Selecione somente o primeiro registro where data > ‘01/01/2011’ "
No select depende muito do banco que você vai usar… você ta usando o hibernate por acaso ou fazendo as query direto ?
C
CristianoGDT
Muito engraçada sua piada Jose111 =/
Pra quem sabe usar o google seu select nao funcionou
Erro:
ORA-00904: “FIRST”: identificador inválido
C
CristianoGDT
Estou fazendo um Select direto
R
rodrigocolasso
Tenta usar esse LIMIT 1
mas ordene antes pelo que você quer buscar … se quiser pelo id …
C
CristianoGDT
Rodei essa query:
select * from vw_mttf_bilhetes_abertos where
DATAIN BETWEEN TO_DATE('01/01/2010','dd/mm/yyyy')
AND TO_DATE('01/10/2010','dd/mm/yyyy')
ORDER BY DATAIN LIMIT 1;
Gerou esse erro:
ORA-00933: comando SQL não encerrado adequadamente.
Esse LIMIT não é usado só em mysql ?
Lembrando que utilizo Oracle
R
rodrigocolasso
Que banco você está usando ?
C
CristianoGDT
Oracle =/
R
rodrigocolasso
Olha nunca mexi com oracle eu tentaria assim:
SELECT *
FROM teste
WHERE DATAIN BETWEEN '2011-08-01' AND '2011-08-10'
ORDER BY DATAIN
LIMIT 1 ;
As datas nada mas são do que strings, então tentar fazer daquele jeito ali, converte elas para ‘YYYY-MM-DD’ e pode fazer o between
L
leoramos
cara… se o limit não funciona, tenta o top 1…
select top 1 bla bla bla
(to sem tempo agora, mas acho que funciona)
J
Jose111
Não vi que era Oracle haha’ mas usando o Google da para ver que X da questao é o rownum no where:
where rownum =1
C
CristianoGDT
Resolvido…
Como minha praia não é banco de dados agente “apanha” de vez enquando com coisas relativamente simples =D
select * from vw_mttf_bilhetes_abertos where
DATAIN BETWEEN TO_DATE('13/08/2010','dd/mm/yyyy')
AND TO_DATE('01/10/2010','dd/mm/yyyy')
and rownum <=1;