Аналог distinct для массива - Mailing list pgsql-ru-general

From Dmitriy MiksIr
Subject Аналог distinct для массива
Date
Msg-id fpjrgb$eg8$1@ger.gmane.org
Whole thread Raw
Responses Re: Аналог distinct для массива  (Oleg Bartunov <oleg@sai.msu.su>)
List 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, получается очень
накладно). Может есть другие решения?

pgsql-ru-general by date:

Previous
From: Vetchinkin Dmitry
Date:
Subject: Огромная разница по времени между FETCH'ем из курсора и выполнением select'a
Next
From: Oleg Bartunov
Date:
Subject: Re: Аналог distinct для массива