Thread: BUG #14974: count doesn't accept text columns

BUG #14974: count doesn't accept text columns

From
jarek.stoklosa@gmail.com
Date:
The following bug has been logged on the website:

Bug reference:      14974
Logged by:          Jarosław Stokłosa
Email address:      jarek.stoklosa@gmail.com
PostgreSQL version: 9.6.6
Operating system:   Linux
Description:

create table test (t TEXT, tt TEXT);
insert into test values('a', 'b');
insert into test values('a', null::TEXT);
select t, count(tt) from test group by t;

Should be (a, 1) but I've got a error message:
column "test.tt" must appear in the GROUP BY clause or be used in an
aggregate function

select t, count(distinct tt) from test group by t;
gives "DISTINCT specified, but count is not an aggregate function"



Re: BUG #14974: count doesn't accept text columns

From
Marko Tiikkaja
Date:
On Thu, Dec 14, 2017 at 2:33 PM, <jarek.stoklosa@gmail.com> wrote:
The following bug has been logged on the website:

Bug reference:      14974
Logged by:          Jarosław Stokłosa
Email address:      jarek.stoklosa@gmail.com
PostgreSQL version: 9.6.6
Operating system:   Linux
Description:

create table test (t TEXT, tt TEXT);
insert into test values('a', 'b');
insert into test values('a', null::TEXT);
select t, count(tt) from test group by t;

Should be (a, 1) but I've got a error message:
column "test.tt" must appear in the GROUP BY clause or be used in an
aggregate function

Works just fine here.
 
select t, count(distinct tt) from test group by t;
gives "DISTINCT specified, but count is not an aggregate function"

Are you sure you don't have a poorly-named "count" function defined?  What's the output of:

    \df *.count

from psql?


.m

Re: BUG #14974: count doesn't accept text columns

From
Jarosław Stokłosa
Date:
Correct. 
Thank you.
Regards
Jarek

14.12.2017 13:47 "Marko Tiikkaja" <marko@joh.to> napisał(a):
On Thu, Dec 14, 2017 at 2:33 PM, <jarek.stoklosa@gmail.com> wrote:
The following bug has been logged on the website:

Bug reference:      14974
Logged by:          Jarosław Stokłosa
Email address:      jarek.stoklosa@gmail.com
PostgreSQL version: 9.6.6
Operating system:   Linux
Description:

create table test (t TEXT, tt TEXT);
insert into test values('a', 'b');
insert into test values('a', null::TEXT);
select t, count(tt) from test group by t;

Should be (a, 1) but I've got a error message:
column "test.tt" must appear in the GROUP BY clause or be used in an
aggregate function

Works just fine here.
 
select t, count(distinct tt) from test group by t;
gives "DISTINCT specified, but count is not an aggregate function"

Are you sure you don't have a poorly-named "count" function defined?  What's the output of:

    \df *.count

from psql?


.m