Re: count (DISTINCT expression [ , ... ] ) and documentation - Mailing list pgsql-general

From Ivan Sergio Borgonovo
Subject Re: count (DISTINCT expression [ , ... ] ) and documentation
Date
Msg-id 20081226200330.35c5e191@dawn.webthatworks.it
Whole thread Raw
In response to Re: count (DISTINCT expression [ , ... ] ) and documentation  (David Fetter <david@fetter.org>)
Responses Re: count (DISTINCT expression [ , ... ] ) and documentation  (David Fetter <david@fetter.org>)
List pgsql-general
On Fri, 26 Dec 2008 10:43:25 -0800
David Fetter <david@fetter.org> wrote:

> On Fri, Dec 26, 2008 at 03:34:33PM +0100, Ivan Sergio Borgonovo
> wrote:
> > I noticed that starting from 8.2 the documentation at
> > http://www.postgresql.org/docs/8.2/interactive/sql-expressions.html
> > say that multiple distinct expressions are supported
> >
> > aggregate_name (DISTINCT expression [, expression] )

> In 8.4, you'll be able to do:

> WITH d AS (
>     SELECT DISTINCT c1, c2 FROM table1
> )
> SELECT count(*) FROM d;

Nice, but what will be the difference from
select count(*) from (select distinct c1, c2 from t);
?
Optimisation?

Furthermore... I was actually looking at docs because I needed to
find a way supported by both postgresql and mysql and I've heard
that mysql is not that good at subselect and I doubt it supports
WITH AS. (OK not really a postgresql problem...).

Meanwhile what would you suggest as a general approach to stuff like

select count(distinct c1, c2) from t;

regardless of mysql support?
and considering mysql support?

I was thinking to find some way to exploit group by, but I didn't
come to anything useful yet.

> and very likely an OLAP version. :)

What's "an OLAP version" of WITH d AS...

--
Ivan Sergio Borgonovo
http://www.webthatworks.it


pgsql-general by date:

Previous
From: "Pavel Stehule"
Date:
Subject: Re: count (DISTINCT expression [ , ... ] ) and documentation
Next
From: David Fetter
Date:
Subject: Re: count (DISTINCT expression [ , ... ] ) and documentation