首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql数目字运算

2013-04-20 
sql数字运算create table #a(id int,item int,a1 int)insert into #a values(1,100,80)insert into #a val

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*/

热点排行