Skip site navigation (1) Skip section navigation (2)

Re: Obtener el más cercano

From: Daniel Hernández <dhernand(at)scio(dot)cl>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Obtener el más cercano
Date: 2008-06-26 19:45:44
Message-ID: 20080626154544.c5bc016b.dhernand@scio.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Alvaro Herrera escribió:
> 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.
> 
> Nota: obviamente en este caso no es realmente necesario el UNION ALL
> puesto que los conjuntos son disjuntos, pero el plan es ligeramente
> mejor.

Gracias, pensé que necesitaba algo especial, esa solución es simple.

Saludos

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

In response to

pgsql-es-ayuda by date

Next:From: Daniel HernándezDate: 2008-06-26 19:53:24
Subject: Re: Obtener el más cercano
Previous:From: Raúl Andrés Duque MurilloDate: 2008-06-26 16:10:29
Subject: RAISE NOTICE en 8.3.3

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group