Re: Calculating Minkowski distance between two rows

Поиск
Список
Период
Сортировка
От Babak Alipour
Тема Re: Calculating Minkowski distance between two rows
Дата
Msg-id CA+_of16Y3TGukHzWmc+T2qMiX7-i6aOfikLW0yUjt9i4C+gynA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Calculating Minkowski distance between two rows  (Adrian Klaver <adrian.klaver@aklaver.com>)
Ответы Re: Calculating Minkowski distance between two rows  (Adrian Klaver <adrian.klaver@aklaver.com>)
Re: Calculating Minkowski distance between two rows  (Francisco Olarte <folarte@peoplecall.com>)
Список pgsql-general
That is correct. The function I've written only works when the two tables are named table_train and table_test; is it possible to generalize that to take in any two tables?

Thanks in advance.

>Babak

On Mon, Apr 25, 2016 at 10:24 AM, Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 04/25/2016 07:07 AM, Babak Alipour wrote:
Greetings everyone,

I'm a novice plpgsql user.
For an application, I'm trying to write a user-defined function that
takes a row of some table (let's say with k fields) and takes another
row from another table (again with k fields); then calculate the
Euclidean, Manhattan or generally Minkowski distance (with some p) and
then return an integer.
I've written this:

CREATE FUNCTION euclidean_distance(row1 table_train, row2 table_test,
OUT distance DOUBLE PRECISION) AS $$
DECLARE
tmp DOUBLE PRECISION;
BEGIN
FOR col IN SELECT column_name FROM information_schema.columns WHERE
table_name=table_train LOOP
   tmp := (row1.col - row2.col);
   distance += tmp*tmp;
END LOOP;
distance := sqrt(distance);
END;
$$ LANGUAGE plpgsql;

Could anyone please help me fix this function so that I can pass any two
rows of two tables (with same number of columns) and have their distance
returned.

You are already doing that, so do you mean any two rows of any two tables?


Best regards,
Babak Alipour

--
*/Babak Alipour ,/*
*/University of Florida/*


--
Adrian Klaver
adrian.klaver@aklaver.com



--
Babak Alipour ,
University of Florida

В списке pgsql-general по дате отправления:

Предыдущее
От: Adrian Klaver
Дата:
Сообщение: Re: Calculating Minkowski distance between two rows
Следующее
От: Bráulio Bhavamitra
Дата:
Сообщение: Re: Columnar store as default for PostgreSQL 10?