Dnia 17-10-2006 o godz. 23:21 Tom Lane napisaƂ(a):
> Andrew Dunstan <[EMAIL PROTECTED]> writes:
> > Mark Woodward wrote:
> >> My question, is it a syntactic technicality that PostgreSQL asks for a
> >> "group by," or a bug in the parser?
> 
> > AFAIK what you want is not per sql spec.
> 
> It would in fact be a violation of spec.  Consider the case where there
> are no rows matching 15.  In this case
> 
> select min(tindex), avg(tindex) from y where ycis_id = 15;
> 
> will yield one row containing NULLs, whereas
> 
> select min(tindex), avg(tindex) from y where ycis_id = 15 group by 
> ycis_id;
> 
> will yield no rows (because there are no groups).  Therefore, if
> Postgres were to implicitly insert a GROUP BY to make it legal to
> reference ycis_id directly, we'd be changing the query behavior
> and breaking spec.
> 
>                       regards, tom lane
> 


Hello

IMHO:

Also take into consider that - what should be expected behavior of this:

select ycis_id, min(tindex), avg(tindex) from y where ycis_id = 
truncate(random()*100);

Since result of comparission is not known on parsing phase it couldn't be done 
here if there is no other requirements on argum



---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

Reply via email to