> 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
--
TIP 2: puedes desuscribirte de todas las listas simultáneamente
(envía "unregister TuDirecciónDeCorreo" a majordomo@postgresql.org)
No comments:
Post a Comment