У меня есть такие табличные данные
table name = tbl_fgm_career
+------+-------+------+
| name | value | year |
+------+-------+------+
| a1 | 12 | 1970 |
| a2 | 56 | 1970 |
| a1 | 65 | 1971 |
| b7 | 555 | 1971 |
| . | . | . |
| . | . | . |
| . | . | . |
| ab2 | 890 | 2019 |
+------+-------+------+
И я написал эту процедуру для преобразования значений года в столбцы
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `pivot_question`()
BEGIN
SELECT
GROUP_CONCAT(
CONCAT("SUM(IF(year='", year, "',value ,0)) AS '", year, "'"), "\n"
) INTO @answers
FROM (
SELECT DISTINCT year FROM tbl_fgm_career
) A;
SET @query :=
CONCAT(
'SELECT name, ', @answers,
' FROM tbl_fgm_career GROUP BY name'
);
PREPARE statement FROM @query;
EXECUTE statement;
END$$
DELIMITER ;
Всего у меня было 50 лет (1970-2019) . Но при вызове этой процедуры я получаю только до 1994 года. Если я изменил порядок на год на DES C, я получаю столбцы с (2019 по 1995 год)
Как решить эту проблему.