SQL语句如何写?
amami 2014-07-15 08:56:21 纪录历史数据单表,有写入时间及状态字段。
仅想取出状态变化瞬间的纪录值,(数值为0,1)在sql server里面有下面这种写法,不知道ORACLE如何写!
查询取得数据中当前记录与最近一条记录的差值
2010-07-06 10:55zhaopeng_w | 分类:网站使用 | 浏览869次
填写时间 分类 数值 变化量
20100704 A 21 21--这里是第一条记录所以变化值不要求
20100705 A 17 -4
20100706 A 20 3
20100704 B 88 88--这里是第一条记录所以变化值不要求
20100705 B 80 -8
20100706 B 99 19
上面的表中最后一个字段“变化量”是查询出来的,它是根据当前记录所在分类的数值 减去 相同分类中时间最近的上一次记录的数值。
数据库采用的是 sql server 2005
分享到:
2010-07-06 11:15 提问者采纳
select t1.*,t1.数值-isnull((select top 1 t2.数值 from 表名 t2 where t2.分类=t1.分类 and t2.填写时间<t1.填写时间 order by 填写时间 desc),0) as 变化量
from 表名 t1