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: Wed, 30 Jul 2008 17:27:33 -0400
- Message-id: <20080730172733(dot)d9185b10(dot)dhernand(at)scio(dot)cl>
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
Home |
Main Index |
Thread Index