[Zope] Using SQL aggregate functions
Tres Seaver
tseaver@palladion.com
Tue, 29 Feb 2000 07:21:25 -0600
John Williams wrote:
>
> >>>>> "Tres" == Tres Seaver <tseaver@palladion.com> writes:
>
> Tres> John Williams <J.A.R.Williams@aston.ac.uk> asked:
> >> Date: 28 Feb 2000 08:17:42 +0000
> >>
> >> I have been trying to use SQL aggregate functions in SQL
> >> Methods to calculate some statistics e.g. something like
> >>
> >> SELECT id,count(id) from data group by field
> >>
> >> I am using MySQL, and the query works if entered directly from
> >> another client, however Zopes SQL method returns an error. Is
> >> this a known problem. Is there a known workaround or patch?
>
> Tres> I believe that the aggregate column has a "name" which the
> Tres> DA doesn't like. Try aliasing it (the syntax for this
> Tres> depends on your RDBMS)::
>
> Tres> SELECT id,count(id) as count_id from data group by field
>
> I was in fact using an alias, and this isn't cure the problem. I have
> since looked in a bit more detail and the problem appears to occur
> only when I use a join in the query, so it is a bit more subtle than I
> originally thought.
I saw another post with a patch for mySQL to cope with a column whose type was
coming back "unhandled". Perhaps it would shed some light?
Also, the SQL you posted looks a little odd: the non-aggregate column 'id' is
not one of the 'group by' columns, which will cause Oracle at least to barf on
the statement.
--
=========================================================
Tres Seaver tseaver@palladion.com 713-523-6582
Palladion Software http://www.palladion.com