avg(),表示对符合条件的某一个字段的值进行平均。select avg(score) from tablename
如果有别的字段必须保证分组。
select name,avg(score) from tablename group by name

解决方案 »

  1.   

    avg函数一共有两个
    一个是对分组求平均值得AVG
    返回组中值的平均值。空值将被忽略。语法
    AVG ( [ ALL | DISTINCT ] expression ) 参数
    ALL对所有的值进行聚合函数运算。ALL 是默认设置。DISTINCT指定 AVG 操作只使用每个值的唯一实例,而不管该值出现了多少次。expression精确数字或近似数字数据类型类别的表达式(bit 数据类型除外)。不允许使用聚合函数和子查询。返回类型
    返回类型由表达式的运算结果类型决定。
    -------------------
    另一个是
    Avg
    返回在某一集合上对数值表达式求得的平均值。语法
    Avg(«Set»[, «Numeric Expression»])注释
    此函数需要单元数的隐性计数,不包含空单元。若要强制包含空单元,应用程序必须使用 CoalesceEmpty 函数。有关空单元的更多信息,请参见 OLE DB 文档。示例
    如果 Sales 分别为 1000、2000 和 3000,则下面的函数返回 2000:Avg({USA, Canada, Mexico}, Sales)
      

  2.   

    avg()函数是用于cube中的
    avg()聚合函数是用于数据库中,和sum()聚合函数的用法类似
      

  3.   

    我知道用法,
    上面只是一个例
    我想为什么我的avg函数回得到int,而不是real
      

  4.   

    表达式结果 返回类型 
    整数分类 int 
    decimal 分类 (p, s) decimal(38, s) 除以 decimal(10, 0) 
    money 和 smallmoney 分类 money 
    float 和 real 分类 float 
    你的count()返回的是INT所以AVG返回INT
      

  5.   

    select @s=avg(convert(float,f)) from (select count(*) as f from t group by fid1,fid2) a
      

  6.   

    同意楼上的。我曾经也是遇到了这样的问题,我的一个变量乘上一个整数的时候得到的是一个整数,而不是一个real。