Re: Sorting CSV string and removing Duplicates - Mailing list pgsql-general

From dinesh kumar
Subject Re: Sorting CSV string and removing Duplicates
Date
Msg-id CALnrH7ooVCaobccbt7xGV-L0-5dtKHdSoP_f+0K6L6tpuhUjwA@mail.gmail.com
Whole thread Raw
In response to Re: Sorting CSV string and removing Duplicates  (dinesh kumar <dineshkumar02@gmail.com>)
Responses Re: Sorting CSV string and removing Duplicates  (Alex Magnum <magnum11200@gmail.com>)
List pgsql-general


On Mon, Jul 27, 2015 at 12:57 PM, dinesh kumar <dineshkumar02@gmail.com> wrote:
On Mon, Jul 27, 2015 at 12:53 PM, Alex Magnum <magnum11200@gmail.com> wrote:
Hello,

I have a csv string in a text field that is unsorted and contains duplicates.
Is there a simple way to remove these and sort the string.

E.g 
2,18,20,23,1,27,1,2,8,16,17,18,20,22,23,27 

i tried string to array and unique but that did not work...
Any suggestions on how to do this without writing a function?

Any help is appreciated.


Are you looking for this.

postgres=# SELECT unnest(string_to_array(t, ',')) from test group by 1;
 unnest
--------
 2
 18
 8
 20
 22
 16
 27
 17
 23
 1
(10 rows)


OR

Might be something like this

postgres=# WITH sortedstring as
postgres-# (
postgres(# SELECT unnest(string_to_array(t, ','))::int from test group by 1 ORDER BY 1
postgres(# ) SELECT array_agg(unnest) FROM sortedstring;
          array_agg
------------------------------
 {1,2,8,16,17,18,20,22,23,27}
(1 row)


Regards,
Dinesh
 
 
Regards,
Dinesh

Thanks
A


pgsql-general by date:

Previous
From: Chris Mair
Date:
Subject: Re: Sorting CSV string and removing Duplicates
Next
From: Heikki Linnakangas
Date:
Subject: Re: Lots of stuck queries after upgrade to 9.4