Uhm... non hai risposto.
forse quello che cerchi è questo?
-- create
CREATE TABLE ENERGIA (
eId INTEGER PRIMARY KEY,
CAMPODATA DATE NOT NULL,
CAMPOA FLOAT NOT NULL,
CAMPOB FLOAT NOT NULL,
CAMPOCONDIZIONE INTEGER NOT NULL
);
-- insert
INSERT INTO ENERGIA VALUES (0001, '2024-06-01', 100, 90, 2);
INSERT INTO ENERGIA VALUES (0002, '2024-12-02', 120, 98, 2);
INSERT INTO ENERGIA VALUES (0003, '2025-08-03', 110, 80, 2);
INSERT INTO ENERGIA VALUES (0004, '2025-09-06', 140, 100, 2);
INSERT INTO ENERGIA VALUES (0005, '2025-10-11', 105, 91, 2);
INSERT INTO ENERGIA VALUES (0006, '2025-12-06', 115, 99, 2);
-- fetch
SELECT * FROM ENERGIA;
SELECT
YEAR(CAMPODATA) AS ANNO,
SUM(CASE WHEN CAMPOCONDIZIONE = 2 THEN CAMPOA ELSE 0 END) AS somma_condizionata1,
SUM(CASE WHEN CAMPOCONDIZIONE = 2 THEN CAMPOB ELSE 0 END) AS somma_condizionata2,
SUM(CASE WHEN CAMPOCONDIZIONE = 2 THEN CAMPOA ELSE 0 END)/SUM(CASE WHEN CAMPOCONDIZIONE = 2 THEN CAMPOB ELSE 0 END)
as rapportocondizionato
FROM
ENERGIA
WHERE
CAMPOCONDIZIONE = 2
GROUP BY
ANNO;
risultati:
+-----+------------+--------+--------+-----------------+
| eId | CAMPODATA | CAMPOA | CAMPOB | CAMPOCONDIZIONE |
+-----+------------+--------+--------+-----------------+
| 1 | 2024-06-01 | 100 | 90 | 2 |
| 2 | 2024-12-02 | 120 | 98 | 2 |
| 3 | 2025-08-03 | 110 | 80 | 2 |
| 4 | 2025-09-06 | 140 | 100 | 2 |
| 5 | 2025-10-11 | 105 | 91 | 2 |
| 6 | 2025-12-06 | 115 | 99 | 2 |
+-----+------------+--------+--------+-----------------+
+------+---------------------+---------------------+----------------------+
| ANNO | somma_condizionata1 | somma_condizionata2 | rapportocondizionato |
+------+---------------------+---------------------+----------------------+
| 2024 | 220 | 188 | 1.1702127659574468 |
| 2025 | 470 | 370 | 1.2702702702702702 |
+------+---------------------+---------------------+----------------------+