Skip site navigation (1) Skip section navigation (2)

Аналог 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 (view raw or flat)
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

pgsql-ru-general by date

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

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