Re: [SQL] date_part, too many results? - Mailing list pgsql-sql

From Tom Lane
Subject Re: [SQL] date_part, too many results?
Date
Msg-id 23632.951439580@sss.pgh.pa.us
Whole thread Raw
In response to date_part, too many results?  (M.Mazurek@poznan.multinet.pl)
List pgsql-sql
M.Mazurek@poznan.multinet.pl writes:
> clicked table is empty for bannerid=1, so why is that row? How to get rid

> bannerdb=> select count(*),date_part('dow',data::datetime) from clicked
> where bannerid=1 group by date_part('dow',data::datetime);
> count|date_part
> -----+---------
>     0|         
> (1 row)

It's not date_part's fault, it's count's fault.  There should be no rows
out if you have GROUP BY and no groups, but 6.5 and prior Postgres
releases emit a dummy row anyway.  This is a longstanding bug in
Postgres's handling of aggregate functions.  It's fixed for 7.0, if you
want to try running the beta version... if not, you could add
HAVING count(*) > 0 as a temporary workaround.
        regards, tom lane


pgsql-sql by date:

Previous
From: Tom Lane
Date:
Subject: Re: [SQL] how to create index on timestamp field in pre v7 database
Next
From: Mark Kirkwood
Date:
Subject: New Optimizer Behaviour In 7.0b1