每小时电量的计算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;
相关推荐
bugcome_com1 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
张洛闻Eren1 小时前
MySQL 维护稳定系统【MySQL第二课】
linux·数据库·mysql·云原生
To_OC1 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕2 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
布莱克6052 小时前
理解索引:从概念到实践
数据库·mysql
Fluxart.ai4 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
why技术4 小时前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码4 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep4 小时前
又一个华为天才少年,离职了!
前端·后端·程序员
kyriewen5 小时前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试