pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Jasen Betts <jasen@xnet.co.nz>
To: pgsql-sql@postgresql.org
Subject: Re: Need help in grouping records
Date: 20 May 2012 03:04:12 GMT
Message-ID: <jp9mvc$qmu$1@reversiblemaps.ath.cx> (raw)
References: <4FB7EEC6.1030004@gmx.net>

On 2012-05-19, Andreas <maps.on@gmx.net> wrote:
> Hi,
>
> I'm trying to fight against double entries in tables.
> I got as far as I can find similar records with trigram string matching.
> If I do this with a table compared to itself I get something like this:
>
> id_a, id_b
> 3,   5
> 3,   7
> 5,   3
> 5,   7
> 7,   3
> 7,   5
> 11,   13
> 13,   11
>
> so the records with the IDs 3, 5, 7 and 11, 13 are similar enough to 
> form a group.
>
> How would I get a list of record-IDs with a group-ID like this
>
> record_id, group_id
> 3,   1
> 5,   1
> 7,   1
> 11,   2
> 13,   2
>
> Is there a way to get this by SQL ?


  select id_a,min(least(id_a,id_b)) from SOMETHING group by id_a

close enough?

or this: ?

  select id_a, rank() over order by g  from 
  ( select id_a,min(least(id_a,id_b)) as g from SOMETHING group by id_a ) as foo



-- 
⚂⚃ 100% natural





view thread (3+ messages)  latest in thread

Message-ID: <jp9mvc$qmu$1@reversiblemaps.ath.cx>
Permalink:  ../jp9mvc$qmu$1@reversiblemaps.ath.cx/
Also on:    postgresql.org/message-id/jp9mvc$qmu$1@reversiblemaps.ath.cx

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: jasen@xnet.co.nz
  Subject: Re: Need help in grouping records
  In-Reply-To: <jp9mvc$qmu$1@reversiblemaps.ath.cx>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox