You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:MySQL基于日期时间查询实现日用电量差值计算(Node-RED场景)

解决方案:计算当日实际用电量

你可以通过两个子查询分别获取当日最新的inputpwr值和昨日最后一条的inputpwr值,再直接计算差值。以下是具体的SQL语句:

基础版(假设date字段是纯日期格式)

SELECT 
    -- 获取当日最新的总电量
    (SELECT inputpwr FROM pwrtable WHERE date = CURDATE() ORDER BY time DESC LIMIT 1) AS today_latest_pwr,
    -- 获取昨日最后一条的总电量
    (SELECT inputpwr FROM pwrtable WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY time DESC LIMIT 1) AS yesterday_last_pwr,
    -- 计算当日实际用电量
    (SELECT inputpwr FROM pwrtable WHERE date = CURDATE() ORDER BY time DESC LIMIT 1) - 
    (SELECT inputpwr FROM pwrtable WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY time DESC LIMIT 1) AS daily_consumption;

处理空值的增强版

如果存在当日还未采集数据,或者昨日无数据的情况,上面的语句会返回NULL。可以用IFNULL处理,避免异常:

SELECT 
    IFNULL(today_latest_pwr, 0) AS today_latest_pwr,
    IFNULL(yesterday_last_pwr, 0) AS yesterday_last_pwr,
    IFNULL(today_latest_pwr, 0) - IFNULL(yesterday_last_pwr, 0) AS daily_consumption
FROM (
    SELECT 
        (SELECT inputpwr FROM pwrtable WHERE date = CURDATE() ORDER BY time DESC LIMIT 1) AS today_latest_pwr,
        (SELECT inputpwr FROM pwrtable WHERE date = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY time DESC LIMIT 1) AS yesterday_last_pwr
) AS temp_table;

如果date字段是datetime类型(包含日期+时间)

如果你的date字段实际是datetime格式(比如2024-05-20 14:30:00),需要用DATE()函数提取日期部分,调整语句如下:

SELECT 
    (SELECT inputpwr FROM pwrtable WHERE DATE(date) = CURDATE() ORDER BY date DESC LIMIT 1) AS today_latest_pwr,
    (SELECT inputpwr FROM pwrtable WHERE DATE(date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY date DESC LIMIT 1) AS yesterday_last_pwr,
    (SELECT inputpwr FROM pwrtable WHERE DATE(date) = CURDATE() ORDER BY date DESC LIMIT 1) - 
    (SELECT inputpwr FROM pwrtable WHERE DATE(date) = DATE_SUB(CURDATE(), INTERVAL 1 DAY) ORDER BY date DESC LIMIT 1) AS daily_consumption;

关键说明

  • CURDATE():获取当前系统日期(比如2024-05-20)
  • DATE_SUB(CURDATE(), INTERVAL 1 DAY):获取前一天的日期
  • ORDER BY time DESC LIMIT 1:按时间倒序排序,取最新的一条数据

内容的提问来源于stack exchange,提问作者Josi Dunk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:37:44