My table (name EPM1):
时间戳 | INVERTER1POWER | INVERTER2POWER | POWERLIMIT | 2021 - 09 - 30 t17:19:42.309z | 100 | 400 | 0.8 |
---|---|---|---|
2021 - 09 - 30 t17:20:42.309z | 200 | 500 | 0.6 |
2021 - 09 - 30 t17:21:42.309z | 300 | 600 | 0.7 |
使用嵌套子查询:
SELECT SUM(temp_value) AS sum2
FROM (
SELECT CASE
WHEN INVERTER1POWER+INVERTER2POWER
< 25000 * LAG(POWERLIMIT, 1, 0) OVER (ORDER BY timestamp)
THEN INVERTER1POWER+INVERTER2POWER
END AS temp_value
FROM epm1
)
对于样本数据:
CREATE TABLE EPM1 (TIMESTAMP, INVERTER1POWER, INVERTER2POWER, POWERLIMIT) AS
SELECT TIMESTAMP '2021-09-30 17:19:42.309 UTC', 100, 400, 0.8 FROM DUAL UNION ALL
SELECT TIMESTAMP '2021-09-30 17:20:42.309 UTC', 200, 500, 0.6 FROM DUAL UNION ALL
SELECT TIMESTAMP '2021-09-30 17:21:42.309 UTC', 300, 600, 0.7 FROM DUAL
输出:
<表类>tbody><<tr> SUM2 1600 表类>