Re: [BUGS] General Bug Report: GROUP BY with NULL not done properly(Oracle8& DB/2 do this completely different) - Mailing list pgsql-bugs
From | secret |
---|---|
Subject | Re: [BUGS] General Bug Report: GROUP BY with NULL not done properly(Oracle8& DB/2 do this completely different) |
Date | |
Msg-id | 3784AF19.FA7A229D@kearneydev.com Whole thread Raw |
In response to | Re: [BUGS] General Bug Report: GROUP BY with NULL not done properly(Oracle8 & DB/2 do this completely different) (Bruce Momjian <maillist@candle.pha.pa.us>) |
Responses |
Re: [BUGS] General Bug Report: GROUP BY with NULL not done properly(Oracle8& DB/2 do this completely different)
Re: [BUGS] General Bug Report: GROUP BY with NULL not done properly(Oracle8& DB/2 do this completely different) |
List | pgsql-bugs |
Bruce Momjian wrote: > Looks like this is fixed in 6.5. > > test=> SELECT a,sum(b) FROM z GROUP BY a; > a|sum > -+--- > 1| 6 > | 4 > (2 rows) > > > > > ============================================================================ > > POSTGRESQL BUG REPORT TEMPLATE > > ============================================================================ > > > > > > Your name : > > Your email address : secret@kearneydev.com > > > > Category : runtime: back-end: SQL > > Severity : non-critical > > > > Summary: GROUP BY with NULL not done properly(Oracle8 & DB/2 do this completely different) > > > > System Configuration > > -------------------- > > Operating System : Linux 2.2.7 Redhat 5.2 > > > > PostgreSQL version : 6.4.2 > > > > Compiler used : 2.7.2.3 > > > > Hardware: > > --------- > > Linux tau.kearneydev.com 2.2.7 #3 Thu Apr 29 10:10:41 EDT 1999 i686 unknown > > > > Versions of other tools: > > ------------------------ > > > > > > -------------------------------------------------------------------------- > > > > Problem Description: > > -------------------- > > The appearance of NULL in a table where a GROUP BY clause is > > used causes the behavior of returning 1 line for every NULL. > > Both Oracle8 and DB/2 perform this as I would expect. IE > > a,b > > 1,1 > > 1,2 > > NULL,1 > > NULL,2 > > > > SELECT a,sum(b) GROUP BY a returns on Postgres: > > 1,3 > > NULL,1 > > NULL,2 > > > > On Oracle8, DB/2, etc.: > > 1,3 > > NULL,3 > > > > Cut&paste from Oracle8: > > 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> > > > > -------------------------------------------------------------------------- > > > > Test Case: > > ---------- > > CREATE TABLE z(a int4,b int4); > > INSERT INTO z values (1,2); > > INSERT INTO z VALUES (1,1); > > INSERT INTO z(b) VALUES (1); > > INSERT INTO z(b) VALUES (2); > > SELECT a,sum(b) FROM z GROUP BY a; > > > > > > -------------------------------------------------------------------------- > > > > Solution: > > --------- > > For whatever reason I've observed many times that NULL<>NULL > > under PostgreSQL, I've had to include many clauses in my > > SQL statements to make up for this, perhaps if this was > > corrected it would function properly. > > > > -------------------------------------------------------------------------- > > > > > > > > -- > Bruce Momjian | http://www.op.net/~candle > maillist@candle.pha.pa.us | (610) 853-3000 > + If your life is a hard drive, | 830 Blythe Avenue > + Christ can be your backup. | Drexel Hill, Pennsylvania 19026 It works fine with 1 variable, try it with 2. 6.4.2 worked fine for 1, it's just when you GROUP BY 2 variables that contain NULLs issues start appearing.(Another reason it looks like a bug, not a feature :)) David Secret MIS Director Kearney Development Co., Inc.
pgsql-bugs by date: