制作SQL2005 CLR 聚合函数(二)

来源:互联网 发布:淘宝男鞋店铺比较好的 编辑:程序博客网 时间:2024/04/29 02:03
//计算分组值的平均值

   //用来测试Merge(),结果是正确的,但感觉效率并没有T-SQL高

    private SqlInt32 donutCount;
    private int count;

 

    public void Init()
    {
        donutCount = 0;
        count = 0;
    }

 

    public void Accumulate(SqlInt32 Value)
    {
        donutCount += Value;
        count++;
    }

 

    public void Merge(Agg1 Group)
    {
        donutCount += Group.donutCount;
        count += Group.count;
    }

 

    public SqlInt32 Terminate()
    {
        return (Int32)Math.Floor(((double)donutCount) / count);
    }