select field1,field2*0.1/sum(field2) as sum1 from table where field<=n group by field1,field2
这个T-SQL语句可以执行,但是显示的结果sum1全部都为sum(field2)的值,不是field2*0.1/sum(field2)的值,请高手帮忙修改一下,谢谢

解决方案 »

  1.   

    你选一个select field1,min(field2)*0.1/sum(field2) as sum1 from table where field<=n group by field1
    select field1,max(field2)*0.1/sum(field2) as sum1 from table where field<=n group by field1
    select field1,avg(field2)*0.1/sum(field2) as sum1 from table where field<=n group by field1
      

  2.   

    表结构是这样,有三列数据,一个是id整型数据,一个是“评估要素”是字符型数据,一个是权重 ,是numeric类型,且都是小于1的数值,比如
    id    评估要素     权重
    1     桥面铺装     0.3
    2     桥头平顺     0.15
    3     伸缩装置     0.25
    4     排水系统     0.1
    5     人行道       0.1
    6     护栏         0.1
      

  3.   

    select field1,field2/(select sum(field2) from [table] group by field1) as sum1 from table where field<=n
      

  4.   

    就是要其中一列数据和该列数据总和的商,就是field/sum(field)