sql相邻两条记录差值计算 初稿

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER procedure [dbo].[query_all_steamdata]
@userCode varchar(255),
@startTime datetime,
@endTime datetime
as
select 
(dbo.UsersInfo.User_name + '(' + c.User_code + ')') AS [UserName], 
CONVERT(CHAR(19), c.Check_time, 20) as strCreateTime,
CONVERT(CHAR(19), c.Check_time, 20) as strCheckTime,
CAST(Avg(c.Temp_value) / 100.0 AS decimal(9, 2)) AS [Temp], 
CAST(Avg(c.Press_value) / 100.0 AS decimal(9, 2)) AS [Press],  CAST(Avg(c.freq_value) / 1000.0 AS decimal(9, 3)) AS [Freq],  
CAST(Avg(c.dP_value) / 1000.0 AS decimal(9, 3)) AS [dP],  CAST(Avg(c.Quantity_value) / 1000.0 AS decimal(9, 3)) AS [Quantity],  
CAST(Max(c.TQuantity_value) / 100.0 AS decimal(11, 0))AS [TQuantity],  


CAST((Max(c.TQuantity_value)-
(select top 1 a.TQuantity_value 
 FROM 
UseSteamAllData as a
, UsersInfo as b  
WHERE (a.User_code = b.User_code) 
AND (a.User_code = c.User_code) 
and  (a.check_time<c.check_time)  
AND ((a.Check_time >= @startTime) AND (a.Check_time <=@endTime)) order by a.check_time desc
))/100.0 

AS decimal(9, 2)

)AS [UQ] 


from UseSteamAllData  c,
UsersInfo
where
c.User_code = UsersInfo.User_code
AND 
c.User_code=@userCode
AND 
c.Check_time >=@startTime 
AND 
c.Check_time <=@endTime
GROUP BY c.User_code, dbo.UsersInfo.User_name,c.Check_time



  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值