Re: [pgsql-ru-general] аггрегатор по аггрегаторам - Mailing list pgsql-ru-general

From Sergey Konoplev
Subject Re: [pgsql-ru-general] аггрегатор по аггрегаторам
Date
Msg-id CAL_0b1uKCgS0TZ8rR_WrEHzYXT47-MuVDTVVDZzgW6uq=qsweg@mail.gmail.com
Whole thread Raw
List pgsql-ru-general
Привет,

On Fri, Apr 13, 2012 at 1:05 PM, Dmitry E. Oboukhov <unera@debian.org> wrote:
>  WITH "a" AS (select * FROM (VALUES (ARRAY[1,2,3,3,4]), (ARRAY[1,2,2,3,4])) t )
>    SELECT array_agg(unnest(column1)) FROM "a";
>
> ERROR:  set-valued function called in context that cannot accept a set
>
>
> А хотели бы получить общий массив {1,2,3,3,4,1,2,2,3,4}
>
> Как это можно сделать?

WITH a AS (select * FROM (VALUES (ARRAY[1,2,3,3,4]), (ARRAY[1,2,2,3,4])) t )
SELECT array_agg(c) FROM (SELECT unnest(column1) AS c FROM a) AS sq;

>
> И второй вопрос:
>
> допустим имеется массив:
>
> {1,2,3,3,4,1,2,2,3,4}
>
> Как можно посчитать число уникальных элементов в нем?
>
> SELECT COUNT(DISTINCT unnest(ARRAY[1,2,3,3,4,1,2,2,3,4]))
>
> дает ту же ошибку
> --
>
> . ''`.                               Dmitry E. Oboukhov
> : :'  :   email: unera@debian.org jabber://UNera@uvw.ru
> `. `~'              GPGKey: 1024D / F8E26537 2006-11-21
>  `- 1B23 D4F8 8EC0 D902 0555  E438 AB8C 00CF F8E2 6537



--
Sergey Konoplev

Blog: http://gray-hemp.blogspot.com
LinkedIn: http://ru.linkedin.com/in/grayhemp
JID/GTalk: gray.ru@gmail.com Skype: gray-hemp

pgsql-ru-general by date:

Previous
From: "Dmitry E. Oboukhov"
Date:
Subject: аггрегатор по аггрегаторам
Next
From: Sergey Burladyan
Date:
Subject: Re: аггрегатор по аггрегаторам