MySQL动态数据透视表

MySQL动态数据透视表,第1张

MySQL动态数据透视

由于值在

int
其中,因此您要将它们设为列名,因此必须将值包装在反引号

该SQL将看起来像:

max(case when user_id = 1 then score end) as `1`

完整的查询将是:

SET @sql = NULL;SELECt  GROUP_CONCAt(DISTINCT    CONCAt(      'max(case when user_id = ''',      user_id,      ''' then score end) AS `',      user_id, '`'    )  ) INTO @sqlFROM  measure2;SET @sql = CONCAt('SELECt inspection_date, ', @sql, '        FROM measure2        GROUP BY inspection_date');PREPARE stmt FROM @sql;EXECUTE stmt;DEALLOCATE PREPARE stmt;

参见带有演示的SQL Fiddle



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4986215.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存