现在一张表有4 个字段 分别为id name price company 
问题:把所有名称相同的记录price 字段改为所有商品的平均值请问如何实现??

解决方案 »

  1.   

    try:
    update tt a inner join tt b on a.name=b.name 
    set price=(select avg(price) from tt)
      

  2.   

    select avg(price) from tt;
    update tt set price=111 ;
    分两部执行也可以啊
      

  3.   

    假设你的表是a
    create table b select * from a;update a set price = (select avg(price) from b) where `name` in (select `name` from b group by `name` having count(1) > 1);drop table b;
      

  4.   

    update tt a inner join tt b on a.name=b.name 
    set price=(select avg(price) from tt)