设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
楼主: sgrshh29
打印 上一主题 下一主题

[其它] [讨论][分享]求下一条记录与上一条记录的差值

[复制链接]
1#
发表于 2005-12-31 02:30:00 | 显示全部楼层
数据多的话,我这个明显要快。

select id,金额,金额 as 差额 from 表1 where id =1
union
SELECT a.id,a.金额,min (a.金额-b.金额 ) as 差额 from 表1 as a,表1 as b where b.id < a.id group by a.id,a.金额 ;

如果id按降序排列,只要把"<"改为">"就可以了。

[此贴子已经被作者于2005-12-30 18:40:20编辑过]

2#
发表于 2005-12-31 04:57:00 | 显示全部楼层
select id,金额,金额 as 差额 from 表1 where id =1
union
SELECT a.id,a.金额,(a.金额-b.金额 ) as 差额 from 表1 as a,表1 as b where b.id = dmax("id","表1","id<" & a.id )
3#
发表于 2006-1-2 05:35:00 | 显示全部楼层
我前面几个献丑了,大伙不要试,机器会算死的。呵呵~~

再来一个,速度稍好,但与情比金坚的没法比。

SELECT a.id, a.金额, a.金额-nz((select 金额 from 表1 where id=(select max(id) from 表1 where id<a.id)),0) AS 差额
FROM 表1 AS a;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-13 12:45 , Processed in 0.100393 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表