CREATE procedure qq @rank int,@workcode char(5) 
 as
    insert into forwrim_ca(rank,workcode,code,distaver)
                  select rank,workcode,code,avg(distmodi) as distaver
                  from rim_me
                  where rank=@rank   and  workcode=@workcode
改                  group by rank,workcode,code          

解决方案 »

  1.   

    group by rank, workcode, code
      

  2.   

    但是我在WHERE子句中已经指定rank, workcode的值,没必要在按rank, workcode分组,觉得有点多余。因为实际group by rank,workcode,code和 group by code效果一样。
         是不是:
             先WHERE子句起作用,再group by起作用
      

  3.   

    在一个分组查询中,字段列表中的所有字段必须出现在Group by子句中,否则就是语法错误,即使在你看来效果一样.
      

  4.   

    另外,问一下,是不是首先WHERE子句筛选记录之后,再在筛选之后的记录进行分组的顺序???