On Thu, Jun 26, 2008 at 7:27 AM, Alvaro Herrera <[EMAIL PROTECTED]> 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 -- TIP 8: explain analyze es tu amigo