From: | Sergey Konoplev <gray(dot)ru(at)gmail(dot)com> |
---|---|
To: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
Cc: | pgsql-ru-general(at)postgresql(dot)org |
Subject: | Re: [pgsql-ru-general] аггрегатор по аггрегаторам |
Date: | 2012-04-13 13:42:19 |
Message-ID: | CAL_0b1uKCgS0TZ8rR_WrEHzYXT47-MuVDTVVDZzgW6uq=qsweg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Привет,
On Fri, Apr 13, 2012 at 1:05 PM, Dmitry E. Oboukhov <unera(at)debian(dot)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(at)debian(dot)org jabber://UNera(at)uvw(dot)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(dot)ru(at)gmail(dot)com Skype: gray-hemp
From | Date | Subject | |
---|---|---|---|
Next Message | Sergey Burladyan | 2012-04-13 14:06:15 | Re: аггрегатор по аггрегаторам |
Previous Message | Dmitry E. Oboukhov | 2012-04-13 09:05:03 | аггрегатор по аггрегаторам |