Re: Obtener el más cercano

From: Daniel Hernández <dhernand(at)scio(dot)cl>
To: "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: "Alvaro Herrera" <alvherre(at)commandprompt(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Obtener el más cercano
Date: 2008-07-30 21:27:33
Message-ID: 20080730172733.d9185b10.dhernand@scio.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On Wed, 30 Jul 2008 15:37:17 -0500
"Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec> wrote:

> On Thu, Jun 26, 2008 at 7:27 AM, Alvaro Herrera
> <alvherre(at)commandprompt(dot)com> wrote:
> > Daniel Hernández escribió:
> >> Hola, parece que los mails que he enviado no han llegado, no lo he
> >> visto en los archivos, así que pregunto de nuevo.
> >>
> >> Tengo una tabla como esta:
> >>
> >> CREATE TABLE t (x double precision primary key, ...);
> >>
> >> y quiero obtener el elemento cuyo valor sea más cercano a un valor dado
> >> x0.
> >
> > Usa un UNION, por ej.
> >
> > select * from (
> > (select * from t where x < 0.4 order by x desc limit 1)
> > union all
> > (select * from t where x > 0.4 order by x limit 1)
> > ) qqch
> > order by abs(x - 0.4);
> >
> > O sea tomas el mas cercano hacia arriba y hacia abajo, y luego escoges
> > uno de entre ellos.
> >
>
> tenia este mail guardardo para chequearlo cuando tuviera tiempo...
> que pasa si en el conjunto de valores esta incluido x?
> no deberia uno de los select admitir tambien los iguales?

Claro, yo puse >=, para resolver eso.
Saludos,

--
Daniel Hernández
http://www.scio.cl

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Omar Murray 2008-07-30 23:15:10 Empezar de cero.
Previous Message Jaime Casanova 2008-07-30 20:37:17 Re: Obtener el más cercano