Página 1 de 1

Buscar el anterior en mysql

Publicado: Mié Abr 11, 2007 5:46 pm
por fredy[3]
Hola,
¿alguno sabe cómo hacer un select para que me de el dato anterior al que
le indico?+
Me explico. Si tengo los registros.
1
3
5
7
9
quiero que el select me devuelva, por ejemplo el anterior a 7, esto es, 5.
El siguiente es fácil ya que es hacer un where > 7 (el 9)
Pero con el anterior es más complicado, ya que si le digo where < 7 me devuelve
1.
¿alguna idea?.
Podrí­a coger todos los que son menores al numero dado, ordenar descendiente
y recuperar el primero, pero quiero algo más sencillo sin tener que llamar
a procedimientos almacenados.
Un saludico,
Fredy

Buscar el anterior en mysql

Publicado: Mié Abr 11, 2007 6:50 pm
por jose.luis
Fredy,
Para SqlServer esto puede ser lo que buscas:
SELECT TOP 1 micampo FROM mitabla WHERE miCampo < 7 order by miCampo DESC
Espero que te sirva.
Saludos,
José Luis Capel
"Fredy" <fredy@aglsl.com> escribió en el mensaje
news:[email=a20b86f348488c94a7872ee87d2@news.xailer.com...]a20b86f348488c94a7872ee87d2@news.xailer.com...[/email]
> Hola,
>
> ¿alguno sabe cómo hacer un select para que me de el dato anterior al que
> le indico?+
>
> Me explico. Si tengo los registros.
>
>
> 1
> 3
> 5
> 7
> 9
>
> quiero que el select me devuelva, por ejemplo el anterior a 7, esto es, 5.
>
> El siguiente es fácil ya que es hacer un where > 7 (el 9)
>
> Pero con el anterior es más complicado, ya que si le digo where < 7 me
> devuelve 1.
>
> ¿alguna idea?.
>
> Podría coger todos los que son menores al numero dado, ordenar
> descendiente y recuperar el primero, pero quiero algo más sencillo sin
> tener que llamar a procedimientos almacenados.
>
>
> Un saludico,
> Fredy
>
>
>

Buscar el anterior en mysql

Publicado: Mié Abr 11, 2007 7:25 pm
por fredy[3]
Hola,
Sí­, en mysql es muy parecido, me habí­a atascado porque me empeñaba en poner
el DESC sin indicar ningún order y, claro, cascaba.
Definitivamente 4 ojos ven más que dos .
Thanks!!
Un saludico,
Fredy