请看标题,谢谢!要考虑查询速度(sql 2000)。

解决方案 »

  1.   

    select avg(select top 5 ziduan from tablename order by ziduan desc)
      

  2.   

    这个不行啊,sql 2000中要报错的;
    还是谢谢你!
      

  3.   

    这句在sql 2000里面要报错,谢谢!
      

  4.   

    --上面写错了
    select avg(ziduan) from (select top 5 ziduan from tablename order by ziduan desc) a
      

  5.   

    ----假设整数字段名称为num
    select avg(num) from (select top 5 num from table order by num DESC) as t
      

  6.   

    不过在游标里面这样查询好像总是报错:
      select @l_amount = avg(ziduan) from (select top 5 ziduan from tablename order by  ziduan desc) a 
    ——修改成下面的就没问题了:  
      select @l_amount = isnull( ( select avg(ziduan) from (select top 5 ziduan from tablename order by  ziduan desc) a ), 0)
    ——为啥呢?各位高手。
      

  7.   

    不过在游标里面这样查询好像总是报错:
      select @l_amount = avg(ziduan) from (select top 5 ziduan from tablename order by  ziduan desc) a 
    ——修改成下面的就没问题了:  
      select @l_amount = isnull( ( select avg(ziduan) from (select top 5 ziduan from tablename order by  ziduan desc) a ), 0)
    ——为啥呢?各位高手。