I don't think this will necessarily work:
field1 | field2
aa | ab
a | aab
These are two distinct rows, so should be counted as two.
The proposed method would count them as one.
You can get around this problem by doing:
count (distinct (a || x || b))
where x is some character not found in your data.
> -----Original Message-----
> From: Dirk Lutzebaeck [SMTP:lutzeb@aeccom.com]
> Sent: Wednesday, March 28, 2001 1:32 PM
> To: Michael Fork
> Cc: pgsql-sql@postgresql.org
> Subject: Re: counting distinct rows on more than one column
>
> Michael Fork writes:
> > In 7.0.3, I believe the following would work:
> >
> > SELECT count(distinct(a || b)) FROM t;
>
> Great, this works! I don't quite get it why...
>
> Dirk
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly