you should say "group by old.x" and not "old.a"

On 7/9/08, Arthur Fuller <[EMAIL PROTECTED]> wrote:
>
> I think that you need to select old.a otherwise you cannot group by it.
>
> Arthur
>
> On 7/9/08, Phil <[EMAIL PROTECTED]> wrote:
> >
> > Is it possible to do an insert into with subselect and group by with an
> > additional on duplicate insert ?
> >
> > CREATE TABLE NEW_TABLE (
> >   `a` varchar(10),
> >   `b` double
> > ) engine=MyISAM;
> >
> >
> > INSERT INTO NEW_TABLE (select old.x,sum(old.y) from OLD_TABLE old group
> by
> > old.a)
> >   on duplicate key
> >   update b=sum(old.y);
> >
> > I get invalid group by clause on that.
> >
> > Currently I achieve the same thing using two seperate queries, but
> wondered
> > if I could consolidate as they take ~ 30mins in total (much more complex
> > tables).
> >
> > Anyway, more curious than anything on why it's disallowed and if it's
> just
> > something silly I'm missing.
> >
> > Phil
> >
>

Reply via email to