首页 > 数据库 > mysql教程 > 如何在 MySQL 中使用整数列名创建动态数据透视表?

如何在 MySQL 中使用整数列名创建动态数据透视表?

Linda Hamilton
发布: 2024-11-16 18:51:03
原创
334 人浏览过

How to Create a Dynamic Pivot Table in MySQL with Integer Column Names?

具有整数列名称的 MySQL 动态数据透视表

在 MySQL 中创建具有整数列名称的动态数据透视表带来了一些挑战。运行提供的查询时,如果 user_id 值为整数,则可能会遇到错误。为了解决这个问题,我们需要将 user_id 值用反引号 (`) 括起来。

调整后的 SQL 查询如下所示:

SET @sql = NULL;
SELECT
  GROUP_CONCAT(DISTINCT
    CONCAT(
      'max(case when user_id = ''',
      user_id,
      ''' then score end) AS `',
      user_id, '`'
    )
  ) INTO @sql
FROM  measure2;

SET @sql = CONCAT('SELECT inspection_date, ', @sql, ' 
                  FROM measure2 
                  GROUP BY inspection_date');

PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
登录后复制

这里的关键修改是添加了反引号GROUP_CONCAT 语句中的 user_id 值周围。通过这样做,我们确保 user_id 值被视为字符串而不是列名。

SQL Fiddle 演示: https://sqlfiddle.com/#!2/eab24/ 4

现在,即使使用整数 user_id 值,也将成功生成动态数据透视表。

以上是如何在 MySQL 中使用整数列名创建动态数据透视表?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板