如何用一条SQL语句进行对数据库中表的一个属性字段进行累加
如:查询出来的结果是第一条记录的值是第一条、第二条、第三条记录值的相加查询出来第一条记录为:85 = 24 + 21 + 40SQL

解决方案 »

  1.   

    ;with maco as
    (select row_number() over (order by (select 1)) as id,* from tablename 
    )
    select sum(RainFall) from maco where id<=3
      

  2.   

    select top 3 sum(Rainfall) from maco
      

  3.   

    大牛,说错了,数据是向上连续的,取上面两行记录跟自己RainFall的值相加的,如果第一条的话是默认是自己,第二条的话就是第一条跟自己相加!大牛帮帮忙
      

  4.   

    --不知道是不是要这样的效果:
    with a1 (rainfail) as
    (
    select 24 union all
    select 21 union all
    select 40 union all
    select 28 union all
    select 21 union all
    select 22 union all
    select 76 union all
    select 63 union all
    select 21 union all
    select 27 union all
    select 23 union all
    select 23 union all
    select 26 union all
    select 47
    )
    ,a2 as
    (
    select *,'a' sort from a1
    )
    ,a3 as
    (
    select *,row_number() over(order by sort) re from a2
    )
    select rainfail,(select sum(rainfail) from a3 a where re<=a3.re) lj
    from a3
      

  5.   

    如果第一条的话是默认是自己,第二条的话就是第一条跟自己相加,
    一条=一条
    二条=一条+二条
    三条=一条+二条+三条?这样子吗?如果是这样的话,简单
    select id,(select sum(rainfail) from tb b where b.id<=a.id) from tb a