Я полагаю, что вам нужен следующий синтаксис:
SELECT YEAR(FECHA_IMPUT) AÑO,
MONTH(FECHA_IMPUT) MES,
COD_MAQUINA ,
SUM(CANTIDAD_OK) SUMA,
SUM(SUM(CANTIDAD_OK)) OVER (PARTITION BY YEAR(FECHA_IMPUT) ORDER BY MONTH(FECHA_IMPUT)) AS suma
FROM RTMAQUINA
WHERE COD_MAQUINA = 'LB_TRASVASE'
GROUP BY COD_MAQUINA,
MONTH(FECHA_IMPUT),
YEAR(FECHA_IMPUT)
ORDER BY YEAR(FECHA_IMPUT), MONTH(FECHA_IMPUT) ASC;
Обратите внимание на вложенные SUM()
s. Этот синтаксис выглядит неуклюже, но он корректен при использовании оконных функций с функциями агрегирования. Внутреннее SUM()
- это совокупность. Внешний SUM()
предназначен для оконной функции.
Также обратите внимание на предложение окна. Во-первых, он должен ссылаться на те же выражения, которые используются в GROUP BY
- или функциях агрегирования. Во-вторых, я думаю, что вы хотите разделить по годам в зависимости от того, как сформулирован ваш вопрос.