Re: integer attribute 1672 != 1672 - Mailing list pgsql-sql

From Haller Christoph
Subject Re: integer attribute 1672 != 1672
Date
Msg-id 200111121505.QAA23169@rodos
Whole thread Raw
In response to integer attribute 1672 != 1672  (Markus Bertheau <twanger@bluetwanger.de>)
Responses Re: integer attribute 1672 != 1672
List pgsql-sql
Hi, 
This is not a bug. 
I think it's a mistake in understanding 
aggregate functions and grouping. 
A typical example for a count/group operation 
would be 
Tell me about the number of employees in each department.
in SQL 
select count(employee), department from employee_table group by depatment ; 
AFAIK if you use an aggregate function on a column and 
group by this column the result is undefined. 
Re-think what you want to query. 
Regards, Christoph 
> 
> cenes=> \d partner_views
>        Table "partner_views"
>  Attribute  |   Type    | Modifier 
> ------------+-----------+----------
>  partner_id | integer   | not null
>  timestamp  | timestamp | not null
> Indices: partner_id_partner_views_key,
>          timestamp_partner_views_key
> 
> cenes=> select count(partner_id), partner_id from partner_views group by
> partner_id order by partner_id;
>  count  | partner_id 
> --------+------------
>   21473 |          0
>       1 |       1672
>  116636 |          0
>     266 |       1670
>   17991 |       1672
>       1 |          0
>   79614 |       1672
>    3723 |       1677
>      39 |       1692
>   30150 |       1814
>    3853 |       1874
>    4951 |       1905
>       2 |       1948
>      28 |       2101
>     241 |       2129
> (15 rows)
> 
> how can this be? is it a known bug which is fixed in 7.1.3?
> 



pgsql-sql by date:

Previous
From: Haller Christoph
Date:
Subject: Re: no cond returns diff res than cond or !cond
Next
From: Tom Lane
Date:
Subject: Re: integer attribute 1672 != 1672