sql数字运算
create table #a(id int,item int,a1 int)
insert into #a values(1,100,80)
insert into #a values(2,100,70)
insert into #a values(3,100,60)
insert into #a values(4,200,30)
insert into #a values(5,200,8)
insert into #a values(6,250,230)
select * from #a
我要得到的结果为如下
id item a1 jieguo
110080 80
210070 150
310060 210
420030 30
52008 38
6250230 230
运算逻辑
item 相同,id 有比现在小的,就把a1 累加
[解决办法]
SELECT A.id,a.item,a.a1,SUM(b.a1) AS jieguo
FROM #a A
INNER JOIN #a B ON A.item = B.item AND A.a1<=B.a1
GROUP BY a.id,a.item,a.a1
/*
iditema1jieguo
11008080
210070150
310060210
42003030
5200838
6250230230*/