Вы уверены , что хотите вставить новую строку?Или просто сможете рассчитать этот промежуточный итог при запросе данных?
Версия запроса
SELECT
Year,
Line,
SUM(January) AS January,
SUM(February) AS February,
...
SUM(December) AS December
FROM
yourTable
GROUP BY
Year,
Line
WITH
ROLLUP
ORDER BY
Year,
Line
Вставить версию
Если вы только один уровень резюме, удалите WITH ROLLUP
INSERT INTO
yourTable
SELECT
Year,
NULL,
SUM(January) AS January,
SUM(February) AS February,
...
SUM(December) AS December
FROM
yourTable
GROUP BY
Year
WITH
ROLLUP
РЕДАКТИРОВАТЬ Следовать за редактированием вопроса
Я настоятельно рекомендую вам иметь в виду запрос, а не изменение фактических данных.Я также предлагаю вам построить эти строки в вашей среде отчетности или поместить значения% справа от каждой записи ...
SELECT
this_year.Year,
this_year.Line,
this_year.January,
CAST(this_year.January AS DECIMAL(8,2)) / CAST(last_year.January AS DECIMAL(8,2)) AS January_Change,
...
FROM
yourTable AS this_year
LEFT JOIN
yourTable AS last_year
ON last_year.year = this_year.year-1
AND last_year.line = this_year.line