Re: Obtener el más cercano
- 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: Wed, 30 Jul 2008 15:37:17 -0500
- Message-id: <3073cc9b0807301337m1e87dac4rced7460328769eec(at)mail(dot)gmail(dot)com>
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
Home |
Main Index |
Thread Index