每小时电量的计算sql

计算思路,把每小时的电表最大记录取出来,然后用当前小时的最大值减去上个小时的最大值即可。 使用了MYSQL8窗口函数进行计算。

sql 复制代码
SELECT b.*,b.epimp - b.lastEmimp ecValue  FROM (
SELECT a.deviceId,a.ctime,a.epimp, lag(epimp) over (ORDER BY a.deviceId,a.ctime) AS lastEmimp
FROM (SELECT
        deviceId,
        DATE_FORMAT(CTIME, '%Y-%m-%d %H') ctime,
        MAX(EP_IMP)    epimp
      FROM electricity
      WHERE deviceId IN('AAA1','AAAA2')
          AND ctime > '2024-05-01'
      GROUP BY deviceId, DATE_FORMAT(CTIME, '%Y-%m-%d %H')) a
      )b 

经过AI优化后的sql

sql 复制代码
WITH a AS (
    SELECT deviceId,
           DATE_FORMAT(CTIME, '%Y-%m-%d %H') ctime,
           MAX(EP_IMP)    epimp
    FROM electricity
    WHERE deviceId IN('1001','1002')
          AND ctime > '2024-05-01'
    GROUP BY deviceId, DATE_FORMAT(CTIME, '%Y-%m-%d %H')
),
b AS (
    SELECT a.deviceId,
           a.ctime,
           a.epimp,
           LAG(a.epimp) OVER (ORDER BY a.deviceId, a.ctime) AS lastEmimp
    FROM a
)
SELECT b.*, b.epimp - b.lastEmimp ecValue
FROM b;
相关推荐
极限实验室3 分钟前
INFINI Easysearch 向量搜索实战(一)
数据库·搜索引擎
xy34535 分钟前
Axure 9.0 中继器创建与设置步骤
前端·ui·html·axure·原型·产品设计
枫叶丹46 分钟前
数据库上 Kubernetes 后,KES-Operator 如何简化集群运维
数据库
FEF前端团队6 分钟前
01# Vibe Coding工作流设计思维:前端开发者的协作框架
前端·cursor·vibecoding
计算机魔术师13 分钟前
OpenAI 发布模型错位报告框架,披露未发布模型自行修改自身指令案例
前端
特创数字科技17 分钟前
公文Word一键批量排版工具|批量统一公文标准格式,办公自动化桌面小工具
前端·python
蓝速科技21 分钟前
数字人一体机芯片选型:RK3576 与 X86 场景化对比指南丨蓝速科技
大数据·运维·数据库·人工智能·科技
流水白开21 分钟前
JavaScript的原型链、类与类的继承
前端·javascript
PedroQue9925 分钟前
修复 .uvue 页面路径残留问题
前端·vite
IvorySQL27 分钟前
AI 时代,PostgreSQL 正在发生什么变化?
数据库·人工智能·postgresql