xiaoxiaoguaio 2020-10-22 10:44 采纳率: 0%
浏览 595

如何使用SQL Server实现查询表里的下一条数据减去上一条数据

现有一张电量示值表Electricity,其中Meter_ID是电表编号,DT是时间,PP是电表的读数,PA\PB\PC分别是峰平谷读数。如下表所示:
图片说明

我用的是SQL Server,想算出每十五分钟的电量,也就是要下一条数据减去上一条数据就可以得出电量,请教各位如何查询。

  • 写回答

1条回答 默认 最新

  • 愤世嫉俗的胖子 2020-10-22 13:12
    关注

    使用窗口函数 lead 或者 lag 即可。

    select master_id, dt, 
        pa, pa - lag(pa, 1) over(partiton by master_id order by dt) pa_dfff,
        pb, pb - lag(pb, 1) over(partiton by master_id order by dt) pb_dfff,
        pc, pc- lag(pc, 1) over(partiton by master_id order by dt) pc_dfff
    from Electricity
    
    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制