Re: [SQL] Oddities with NULL and GROUP BY - Mailing list pgsql-sql

From secret
Subject Re: [SQL] Oddities with NULL and GROUP BY
Date
Msg-id 3740164A.E604F6E5@kearneydev.com
Whole thread Raw
In response to RE: [SQL] Oddities with NULL and GROUP BY  ("Jackson, DeJuan" <djackson@cpsgroup.com>)
List pgsql-sql
"Jackson, DeJuan" wrote:

> The behavior is valid, if you define NULL as meaning undefined.
> In other words when you define something as NULL you're saying, "I don't
> know what it is. It could be equal or not."
>         -DEJ
>
> > -----Original Message-----
> > From: secret [SMTP:secret@kearneydev.com]
> > Sent: Friday, May 14, 1999 11:58 AM
> > To:   PG-SQL
> > Subject:      [SQL] Oddities with NULL and GROUP BY
> >
> >     Maybe there is something I don't know about how GROUP BY should
> > work, but if I have a table like:
> > a,b,c
> > 1,1,1
> > 1,1,2
> > 1,1,3
> > 1,2,1
> > 1,3,1
> >
> > And I say SELECT a,b,sum(c) FROm .. GROUP BY a,b I get
> > 1,1,6
> > 1,2,1
> > 1,3,1
> >
> > So whenever a or b changes we get a new summed row, well if I have rows
> > where a or b are null, this doesn't happen, infact I seem to get all
> > those rows individually... Like if:
> > 1,1,1
> > 1,1,3
> > 1,NULL,10
> > 1,NULL,20
> > 1,2,3
> >
> > I get:
> > 1,1,4
> > 1,NULL,10
> > 1,NULL,20
> > 1,2,3
> >
> > Shouldn't I get 1,NULL,30?  Ie shouldn't NULL be treated like any other
> > value?  Or is there some bit of information I'm missing?  I can set
> > everything from NULL to 0 if need be, but I'd rather not...
> >
> > David Secret
> > MIS Director
> > Kearney Development Co., Inc.
> >
   IBM's DB/2 Disagrees, so does Oracle8!


Here is a cut & paste from Oracle SQL+:

SQL> select * from z;
       A         B
--------- ---------       1         1       1         2                 5                10

SQL> select a,sum(b) from z group by a;
       A    SUM(B)
--------- ---------       1         3                15

SQL>
   I'm going to report this as a bug now that I've verified 2 major database
vendors perform the task as I would expect them to, and PostgreSQL does it
very differently.  The question is really is NULL=NULL, which I would say it
should be.



pgsql-sql by date:

Previous
From: "Willian Jakobs"
Date:
Subject: creating a new table with data from other tables
Next
From: secret
Date:
Subject: Re: [SQL] Oddities with NULL and GROUP BY