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 >