请问高手!!!

brucenan999 2007-10-10 10:58:20
现在一张表:
ID VALUE
1 1000
2 1200
3 1600
4 1000
5 2000

想得到这样一张表:

ID VALUE
2 200
3 400
4 -600
5 2000

就是得到连续的ID的差值, 这样的SQL如何写?谢谢!!!
...全文
86 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
brucenan999 2007-10-10
  • 打赏
  • 举报
回复
不好意思,最后一个写错了:)

多谢,I've got the idea:)
pt1314917 2007-10-10
  • 打赏
  • 举报
回复
charry0110

发表于:2007-10-10 11:27:185楼 得分:0
应该是1000的。不然怎么叫减哦。。。。。
--------
r


-------------------------------------


?????????????????
what?
晓风残月0110 2007-10-10
  • 打赏
  • 举报
回复
应该是1000的。不然怎么叫减哦。。。。。
--------
r
pt1314917 2007-10-10
  • 打赏
  • 举报
回复
是楼主写错了吧。
应该是1000的。不然怎么叫减哦。。。。。
wgzaaa 2007-10-10
  • 打赏
  • 举报
回复
5 2000 不是1000?
dawugui 2007-10-10
  • 打赏
  • 举报
回复
create table tb(ID int,VALUE int)
insert into tb values(1, 1000 )
insert into tb values(2, 1200 )
insert into tb values(3, 1600)
insert into tb values(4, 1000 )
insert into tb values(5, 2000 )
go

select b.id , b.value - a.value value from tb a , tb b where a.id = b.id - 1
drop table tb

/*
id value
----------- -----------
2 200
3 400
4 -600
5 1000

(所影响的行数为 4 行)
*/
pt1314917 2007-10-10
  • 打赏
  • 举报
回复
create table pk(id int identity(1,1),value int)
insert into pk select 1000
insert into pk select 1200
insert into pk select 1600
insert into pk select 1000
insert into pk select 2000

select id,[value]=(select a.value-value from pk where id+1=a.id) from pk a where a.id<>1

34,576

社区成员

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

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