怎样写一条SQL统计连续两条记录的值相加?

lsp69 2014-12-12 12:05:04
有以下表:

ID 入 出 余额
1 0 1 -1
2 0 2 -3
3 2 0 -1
4 0 4 -5
5 8 0 3

即根据ID值的大小,后一条记录的余额等于前一条记录的(入-出)
...全文
392 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
mugua604 2014-12-12
  • 打赏
  • 举报
回复

CREATE TABLE #TABLENAME(ID INT,INQTY INT,OUTQTY INT)

INSERT INTO #TABLENAME
SELECT 1,0,1
UNION ALL
SELECT 2,0,2
UNION ALL
SELECT 3,2,0
UNION ALL
SELECT 4,0,4
UNION ALL
SELECT 5,8,0


SELECT *,(SELECT SUM(INQTY-OUTQTY) FROM #TABLENAME WHERE ID<=T0.ID ) FROM #TABLENAME T0

DROP TABLE #TABLENAME

(5 行受影响)
ID          INQTY       OUTQTY      
----------- ----------- ----------- -----------
1           0           1           -1
2           0           2           -3
3           2           0           -1
4           0           4           -5
5           8           0           3

(5 行受影响)
向东流 2014-12-12
  • 打赏
  • 举报
回复
select *, (select sum(入 -出)  from tb b where a.id>=b.id) from tb a
还在加载中灬 2014-12-12
  • 打赏
  • 举报
回复
SELECT T1.ID,T1.入,T1.出,SUM(T2.入-T2.出)
FROM TB T1
	JOIN TB T2 ON T1.ID>=T2.ID
GROUP BY T1.ID,T1.入,T1.出
James__z 2014-12-12
  • 打赏
  • 举报
回复
这个易接受!哈哈。。。。。
w87875251l 2014-12-12
  • 打赏
  • 举报
回复
逻辑上不太懂啊

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧