gpt4 book ai didi

mysql - 数据透视查询不在 mysql 上执行

转载 作者:行者123 更新时间:2023-11-29 00:11:56 24 4
gpt4 key购买 nike

引用此 [pivot article]我设法得到了这个准备好的数据透视查询

SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'count(IF(name = ''',
name,
''', 1, NULL)) AS ',
name
)
) INTO @sql
FROM bundles;
SET @sql = CONCAT('SELECT ', @sql, ' FROM bundles');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

这是一个现场演示 SQLfiddle

问题是当我尝试使用 mysql(5.6.14 Win32 x86) 对我的数据执行相同模式时出现错误。

Error
SQL query:

PREPARE stmt FROM @sql ;

MySQL said:

#1064 -

只是一个错误代码,但没有消息..
我读过像 this 这样的问题& this但答案是静态方式,不适用于未知列
首先,这甚至在 mysql 中可用吗? .. 任何指针表示赞赏

最佳答案

您的架构可能相同,但您的数据可能不同。您的值中可能有导致问题的关键字、空格或其他内容。尝试用双引号将您的别名括起来。

这是我对您的 SQLFiddle 的编辑.我添加了一行输出动态 SQL,以防您需要检查您在系统上使用数据获得的内容。

SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'count(IF(name = ''',
name,
''', 1, NULL)) AS "',
name, '"'
)
) INTO @sql
FROM bundles;
SET @sql = CONCAT('SELECT ', @sql, ' FROM bundles');
SELECT CONCAT(@sql);
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

关于mysql - 数据透视查询不在 mysql 上执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24657612/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com