Obtener el más cercano

From: Daniel Hernández <dhernand(at)scio(dot)cl>
To: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Obtener el más cercano
Date: 2008-06-25 23:28:05
Message-ID: 20080625192805.dfa1c6a4.dhernand@scio.cl
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

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. Lo que se me ocurre por el momento es:

SELECT * FROM t ORDER BY abs(x - x0) LIMIT 1;

Pero me tinca que podría estar calculando la función abs para todos los
registros de la tabla, lo que no aprovecharía el índice B-Tree en la
columna x.

¿Se les ocurre una idea mejor?

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

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2008-06-26 04:26:42 Re: Obtener el más cercano
Previous Message Jorge Vidal - Disytel 2008-06-25 20:46:09 Cada cuanto reindexar la base de datos