SQL中怎么写能得到这一行减去上一行的值,循环处理多行~多谢

求 上下列的差值!

第1个回答  2012-05-23
select a.value-b.value from (select row_number() over (order by 字段) xh,value from t1) a,
(select row_number() over (order by 字段) xh,value from t2) b where a.xh=b.xh-1
第2个回答  2012-05-23
create table biao22 ( a int)

insert biao22 select '10'

insert biao22 select '9'

insert biao22 select '20'

insert biao22 select '25'

insert biao22 select '18'

insert biao22 select '7'

select * from biao22

create table #A ( id int identity(1,1), a int)

insert into #a(a)
select * from biao22

declare @a int
declare @b int

select @a=min(id) from #a

select @b=max(id) from #a

while (@a<@b)

begin

select t1.a-t2.a from #a t1,#a t2 where t1.id=t2.id+1 and t1.id=@a

set @a=@a+1

end本回答被提问者采纳

SQL中怎么写能得到这一行减去上一行的值,循环处理多行~多谢
select a.value-b.value from (select row_number() over (order by 字段) xh,value from t1) a,(select row_number() over (order by 字段) xh,value from t2) b where a.xh=b.xh-1

SQL下一行减去上一行的值插入另一表
SQL下一行减去上一行的值插入另一表 测试数据.CREATE TABLE temp (year INT,salary INT );INSERT INTO temp VALUES(2000, 1000);INSERT INTO temp VALUES(2001, 2000);INSERT INTO temp VALUES(2002, 3000);INSERT INTO temp VALUES(2003, 4000);...

在MYSQL中怎么写SQL语句,能取到表中按ID降序排列的前五条记录??_百度...
你可以设定多个字段来排序。你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下,它是按升序排列。你可以添加 WHERE…LIKE 子句来设置条件。所以,楼主所问的问题答案应该为:select ... from ... order by ID desc limit(0,5)...

sql 带where循环插入问题怎么做,跪拜!
写法1:insert into user_group(userid,groupID)select useid,'001' from user where useid not in (select useid from user_group)写法2:insert into user_group(userid,groupID)select t1.useid,'001' from user t1 left join user_group t2 on t1.useid=t2.useid where t2.useid...

SQL提取字段值
首先该程序不可能一步达到要求的结果,原因很简单:没有相关的系统函数。我编程实现,大概思路:计算userid各自长度。在userid中查找“帮助”。删除“帮助”及帮助以后的字符。插入到table2中。具体实现:--编写一个游标,从table1大量数据中一条条取出issid等于1的数据 declare @local_variant char(200...

数据库一列插入多行数据,需要不断循环400次update。
) +".png' where id="+ NUM.tostring();+"\\r\\n"NUM ++;} \/\/上面的代码 你得到了你要执行的sql语句,你可以将str输出到textbox中复制到企业管理器中执行,或者在c#中直接执行。\/\/不知道你的数据库,只能帮你这么多了 \/\/补充下,因为是拼接字符串生成sql语句,不需要考虑数据类型 ...

sql语句 条件循环查询
补充:按照你的意思改了一下,把找出的所有记录中,没有子结点(也就是叶子)的记录显示出来。select * into #tmp from ((select * from ywb_zd where id=6)union all (select * from ywb_zd where parentID in (select id from ywb_zd where id=6))union all (select * from ywb_zd ...

sql 语句读取一行问题
你可以在添加一个列:alter table TABLE1 add (title number)来记录你的行。那麼你就可以直接按行号查询了。

请问asp如何写这样sql语句,表A两个字段a与b相减,并将值赋给表B的字段a...
这样写不对。。。A是多行。那么B也是多行。要不没意义了。。再说,update B set B.a=,你想想这个,B的值是不是应该只有一个??所以select A.a-A.b from A where A.c=B.c group by A.c 在表A里,一次只能提一条记录,那么结果也就是“一条SQL语句无法实现。”必须FOR UPDATE语句...

关于SQL多条件查询问题: 若其中一条件为空值如何设置忽略该条件而用其它...
在Oracle多条件查询中包含了空值条件,可采用like关系运算符。例如:select * from emp where deptno like to_char(变量1)||'%' and ename like 变量2||'%' and sal like to_char(变量3)||'%';如果变量1、变量2、变量3中,有空值的话,就相当于没有这个条件一样了。

相似回答