Sql查询分组和求和

问题描述 投票:0回答:1

我想计算每日间能量

在爱沙尼亚,白天能源为周一至周五 6:00 - 22:00。

我有一个数据库,每分钟都会保存数据。

AEG KWHI1
2024-05-13 07:55:00 5896.204
2024-05-13 07:54:00 5896.186
2024-05-13 07:53:00 5896.163
2024-05-13 07:52:00 5896.160
2024-05-13 07:51:00 5896.160
SELECT
    `AEG`,
    MAX(KWHI1) - MIN(KWHI1) AS OST
FROM
    `LOGPV`
WHERE
    `AEG` BETWEEN "2024.04.1" AND "2024.04.30" AND(HOUR(`AEG`) BETWEEN 7 AND 21) AND(WEEKDAY(`AEG`) +1 BETWEEN 1 AND 5)
GROUP BY
    DAY(`AEG`)

这个答案:

AEG OST
2024-04-01 07:00:26 1.456
2024-04-02 07:00:11 11.296
2024-04-03 07:00:25 3.718
2024-04-26 07:00:00 1.617
2024-04-29 07:00:00 1.177

如何对OST求和?
1.456+11.296+3.718+.....+1.617+1.177=107.874 kWh 白天电能 4 月

sql mysql
1个回答
0
投票

如果您希望按月汇总每日 OST 值,可以使用以下方法:

WITH cte AS
(
  SELECT
      DATE(AEG) AS AEGDate,
      MAX(KWHI1) - MIN(KWHI1) AS OST
  FROM
      LOGPV
  WHERE
      (HOUR(AEG) BETWEEN 7 AND 21) AND(WEEKDAY(AEG) +1 BETWEEN 1 AND 5)
  GROUP BY
      DATE(AEG)
)
SELECT 
    MONTH(AEGDate) AS Month,
    SUM(OST) AS TotalOST
FROM cte
GROUP BY Month
© www.soinside.com 2019 - 2024. All rights reserved.