数据透视表中的自动递增列名

时间:2019-11-19 04:02:51

标签: mysql pivot

我正在创建数据透视表,我希望列名类似于value1,value2,value3 ....

  CREATE TEMPORARY TABLE temp_table (
    id INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY,
    value VARCHAR(255),
    date DATETIME ,
    person_id       INT ) ;

这是我为专栏命名的部分。我尝试了ID,但是使用了多个personID,它会使ID随机出现。我正在尝试INTEGER AUTO_INCREMENT,但这会引发错误

SET SESSION group_concat_max_len = 1000000 ;
SELECT GROUP_CONCAT(DISTINCT CONCAT('MAX(IF(id = ''', c.id, ''', value, NULL)) AS "', **INTEGER auto_increment**, '"'))
INTO @column_sql1
FROM temp_table c ;
set @sql = concat("select person_id, ",  @column_sql1, " from temp_table group by `person_id`");
select @sql;
prepare stmt from @sql;
execute stmt;

是否可以对每个值列进行编号,因此以后选择“第一”,“第二”和“第三”列时,可以为动态列名称选择不同的字段?
我也尝试了row_number和许多其他事情。似乎没有任何作用。

感谢您的帮助。

错误消息: “您的SQL语法有误;请查看与您的MySQL服务器版本相对应的手册,以获取在'INTeger auto_increment,'“'附近使用的正确语法)) INTO @ column_sql1“

0 个答案:

没有答案