In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Buscar el anterior en mysql

SQL databases
fredy[3]
Posts: 9
Joined: Mon Dec 04, 2006 8:50 pm

Buscar el anterior en mysql

Postby fredy[3] » Wed Apr 11, 2007 5:46 pm

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
jose.luis
Posts: 1633
Joined: Fri Oct 14, 2005 10:56 pm

Buscar el anterior en mysql

Postby jose.luis » Wed Apr 11, 2007 6:50 pm

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:a20b86f348488c94a7872ee87d2@news.xailer.com...
> 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
>
>
>
fredy[3]
Posts: 9
Joined: Mon Dec 04, 2006 8:50 pm

Buscar el anterior en mysql

Postby fredy[3] » Wed Apr 11, 2007 7:25 pm

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

Return to “SQL”