Аналог distinct для массива

From: Dmitriy MiksIr <miksir(at)maker(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: Аналог distinct для массива
Date: 2008-02-21 12:40:43
Message-ID: fpjrgb$eg8$1@ger.gmane.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-ru-general


Приветствую!

Есть необходимость выбирать уникальные значения из всей таблицы по
полю integer[] (уникальные как по строкам, так и по массиву). Делаю
сейчас это так (кусок функции):
SELECT max(array_upper(marks,1)) INTO size FROM firms WHERE ...;
FOR resrow IN
SELECT distinct(f.marks[g.n]) as result
FROM firms f, generate_series(1,size) g(n) WHERE ...;
...
Не очень нравится такое решение своей красотой (ибо если, например, одна
строка - 100 элементов массива, а остальные - по 2-3, получается очень
накладно). Может есть другие решения?

Responses

Browse pgsql-ru-general by date

  From Date Subject
Next Message Oleg Bartunov 2008-02-21 13:50:28 Re: Аналог distinct для массива
Previous Message Evgeny M. Baldin 2008-02-16 14:16:53 Исходники "Истории о PostgreSQL"