名称 代码 注释 数据类型
id id 记录流水号 int
paraid paraid 唯一标识 Varchar(20)
paravalue paravalue 遥测参数值 float8
collecttime collecttime 采集时间 datetime
systemtime systemtime 入库时间 datetime
查询出 距最新采集时间最近的 一条数据 同它 遥测参数差值
4 个解决方案
#1
select top(2)* from tb a, tb b where a.paraid <> b.paraid
order by abs(datediff(ss,a.collecttime,b.collecttime))
#2
select top 1 t1.float8 -t.float8
from tb t, (select top 1 * from tb order by systemtime desc) t1
where t.id<>t1.id
order by systemtime desc
#3
用abs(datediff(ss,a.collecttime,b.collecttime))会比较好一点
#4
如果使用t-sql的话,我就创建临时表
select top 2 遥测参数
into #temp
from table
order by 采集日期 desc
declare @s float8
select @s=@s-遥测参数
from #temp
sql server里没有float8 类型,是使用的oracle数据库吗?
select top 2 遥测参数
into #temp
from table
order by 采集日期 desc
declare @s float8
select @s=@s-遥测参数
from #temp
sql server里没有float8 类型,是使用的oracle数据库吗?
#1
select top(2)* from tb a, tb b where a.paraid <> b.paraid
order by abs(datediff(ss,a.collecttime,b.collecttime))
#2
select top 1 t1.float8 -t.float8
from tb t, (select top 1 * from tb order by systemtime desc) t1
where t.id<>t1.id
order by systemtime desc
#3
用abs(datediff(ss,a.collecttime,b.collecttime))会比较好一点
#4
如果使用t-sql的话,我就创建临时表
select top 2 遥测参数
into #temp
from table
order by 采集日期 desc
declare @s float8
select @s=@s-遥测参数
from #temp
sql server里没有float8 类型,是使用的oracle数据库吗?
select top 2 遥测参数
into #temp
from table
order by 采集日期 desc
declare @s float8
select @s=@s-遥测参数
from #temp
sql server里没有float8 类型,是使用的oracle数据库吗?