From: | "Jaime Casanova" <jcasanov(at)systemguards(dot)com(dot)ec> |
---|---|
To: | "Alvaro Herrera" <alvherre(at)commandprompt(dot)com> |
Cc: | Daniel Hernández <dhernand(at)scio(dot)cl>, pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Obtener el más cercano |
Date: | 2008-07-30 20:37:17 |
Message-ID: | 3073cc9b0807301337m1e87dac4rced7460328769eec@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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?
--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Guayaquil - Ecuador
Cel. (593) 87171157
From | Date | Subject | |
---|---|---|---|
Next Message | Daniel Hernández | 2008-07-30 21:27:33 | Re: Obtener el más cercano |
Previous Message | Diego Ayala | 2008-07-30 19:58:23 | Re: ayuda con ejecucion de funcion |