Re: [SQL] Re: "order by" weirdness - Mailing list pgsql-sql

From Tom Lane
Subject Re: [SQL] Re: "order by" weirdness
Date
Msg-id 26126.938440035@sss.pgh.pa.us
Whole thread Raw
In response to Re: "order by" weirdness  (Dipankar Chakrabarti <dipanc@yahoo.com>)
List pgsql-sql
>> consider these three statements:
>> 
>> create table t (id integer, date datetime ) ;
>> select id from t group by id ;
>> select id from t group by id order by max(date) ;
>> 
>> Is it correct behavior that the second select returns
>> one row whereas the first select returns zero rows? 

No, it is not.  (Although it took a few rounds of discussion in the
mailing lists to get everyone to agree on that... if you check the
archives you will find this issue has come up repeatedly.)

I have in fact just fixed this in current sources.  So, in 6.6 and
later, both statements will return zero rows if t is empty.

Note that with aggregates and no GROUP BY, you will get a row:

select count(id) from t ;
count
-----   0
(1 row)

select max(id) from t ;
max
---

(1 row)

which is correct behavior and will not change.
        regards, tom lane


pgsql-sql by date:

Previous
From: Stuart Rison
Date:
Subject: Re: [SQL] comparing 2 tables. . .
Next
From: Thomas Lockhart
Date:
Subject: Re: [SQL] IFNULL - problem