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:53:24
Message-ID: 20080626155324.25a1228b.dhernand@scio.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Jaime Casanova escribió:
> > SELECT * FROM t ORDER BY abs(x - x0) LIMIT 1;
> 
> no entiendo como resuelve tu problema este SELECT, podrias dar un
> ejemplo poniendo valores?

La idea es que si tienes los valores de x = {1,12,30,102,340,323} y
buscas con x0 = 104 te entregue el registro con x = 102.

> > 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.
> 
> creas un indice funcional
> create index idx1 on tabla (abs(x));

No sabía que existían los índices funcionales, pero de todos modos la
solución que me dio Alvaro Herrera es lo que quería.

Saludos

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

In response to

pgsql-es-ayuda by date

Next:From: Johnny Verdugo V.Date: 2008-06-26 20:04:57
Subject: dar de baja
Previous:From: Daniel HernándezDate: 2008-06-26 19:45:44
Subject: Re: Obtener el más cercano

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