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 > > >