Обсуждение: count function alternative in postgres
Is there any alternative of mysql function COUNT(DISTINCT expr, [expr...]) in postgres. We get error if we write count like this count(distinct profile.id, profile.name, profile.age) but it works well in mysql. Reference url is given below http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_count-distinct Thanks
junaid malik <junaidmalik14@gmail.com> writes:
> Is there any alternative of mysql function COUNT(DISTINCT expr,
> [expr...]) in postgres. We get error if we
The SQL-standard way to do that would be
select count(*) from (select distinct expr,expr,... from ...) as ss;
COUNT with multiple arguments is not anywhere in the standard.
regards, tom lane
junaid malik wrote: > Is there any alternative of mysql function COUNT(DISTINCT expr, > [expr...]) in postgres. We get error if we > > write count like this count(distinct profile.id, profile.name, > profile.age) but it works well in mysql. > > Reference url is given below > > http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_count-distinct > > Thanks > I already answered your question on dbforums.com. But in Postgres you can do: SELECT COUNT( DISTINCT row(col1, col2, col3) ) FROM foo or SELECT COUNT( DISTINCT (col1, col2, col3) ) FROM foo
On Sat, Apr 3, 2010 at 3:02 PM, Scott Bailey <artacus@comcast.net> wrote: > junaid malik wrote: >> >> Is there any alternative of mysql function COUNT(DISTINCT expr, >> [expr...]) in postgres. We get error if we >> >> write count like this count(distinct profile.id, profile.name, >> profile.age) but it works well in mysql. >> >> Reference url is given below >> >> >> http://dev.mysql.com/doc/refman/5.1/en/group-by-functions.html#function_count-distinct >> >> Thanks >> > > I already answered your question on dbforums.com. But in Postgres you can > do: > > SELECT COUNT( DISTINCT row(col1, col2, col3) ) FROM foo > or > SELECT COUNT( DISTINCT (col1, col2, col3) ) FROM foo very clever! This is similar to how I use rowtypes to get around the single column restrictions on function calls in the select field list. merlin
Merlin Moncure <mmoncure@gmail.com> writes:
> On Sat, Apr 3, 2010 at 3:02 PM, Scott Bailey <artacus@comcast.net> wrote:
>> SELECT COUNT( DISTINCT row(col1, col2, col3) ) FROM foo
> very clever! This is similar to how I use rowtypes to get around the
> single column restrictions on function calls in the select field list.
Cute, but note it will only work in 8.4 or later ...
regards, tom lane