一般不用compute
而用group by计算avg

解决方案 »

  1.   

    --是就是要达到获得分组的平均值
    update a set a.col1=b.avgcol
    from a inner join 
      (select id,avg(col) avgcol
        from tbl group by id) b
     on a.id=b.id
      

  2.   

    人家楼主要的是求出后写入另一个表呀:CREATE PROCEDURE reptq1
     AS
    create table #t(pub_id varchar(20),title_id varchar(20),price decimal(10,2),pubdate datetime)
    insert into #t select pub_id,title_id,avg(price),pubdate from titlles
    group by price having count(1) is not null 
    order by price
    select * from #t
    drop table #tGO
      

  3.   

    写错:
    CREATE PROCEDURE reptq1
     AS
    create table #t(pub_id varchar(20),title_id varchar(20),price decimal(10,2),pubdate datetime)
    insert into #t select pub_id,title_id,avg(price),pubdate from titlles
    group by pub_id having count(1) is not null 
    order by price
    select * from #t
    drop table #tGO
      

  4.   

    服务器: 消息 8120,级别 16,状态 1,过程 cc,行 4
    列 'titles.title_id' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    服务器: 消息 8120,级别 16,状态 1,过程 cc,行 4
    列 'titles.pubdate' 在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。
    服务器: 消息 8127,级别 16,状态 1,过程 cc,行 4
    列名 'titles.price' 在 ORDER BY 子句中无效,因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中。