假如你用的不是桌面数据库,SQL语句如下:
select f1,(select sum(f2) as jrq from TABLE aa where aa.f1=bb.f1 and aa.f2<=bb.f2) as f2
from TABLE bb
order by f1,f2
在SQL_SERVER 2000中通过!
遗憾的是 假如有重复记录,如你的表中:
b 1
b 1
那么统计的结果将为:
b 2
b 2
因为where aa.f1=bb.f1 and aa.f2<=bb.f2
^^^^ 用到是“ <= ” 算是遗憾!
假如没有重复记录,则会是你想要的结果!
你可以试试~
--------------------
另外,建议解决的办法是 :加上一个自增或唯一的ID字段:
改为
select f1,(select sum(f2) as jrq from TABLE aa where aa.f1=bb.f1 and aa.id<bb.id) as f2
from TABLE bb ^^^^^^^^^^^^^^
order by f1,f2
这样就完美无缺了! []