gpt4 book ai didi

Mysql:数据透视表在 sqlfiddle 中工作但在 phpmyadmin 中不起作用

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

我有一个在 sqlfiddle 中工作的数据透视表代码,当我将其带回 phpmyadmin 中的数据库时,我似乎无法使查询工作。

Here is my sqlfiddle.

当我在本地主机 phpmyadmin 中运行它时,查询如下所示:

SET @@group_concat_max_len = 5000;# MySQL returned an empty result set (i.e. zero rows).
SET @sql = NULL;# MySQL returned an empty result set (i.e. zero rows).
SELECT GROUP_CONCAT(DISTINCT
CONCAT('MAX(IF(hw_id = ', hw_id, ', score, -1)) AS ',
CONCAT('`hw', hw_id, '`'))) INTO @sql
FROM mk;# 1 row affected.
SET @sql = CONCAT('SELECT st.id, ', @sql,
' FROM st LEFT JOIN mk ON st.id = mk.st_id GROUP BY st.id');
# MySQL returned an empty result set (i.e. zero rows).
PREPARE stmt FROM @sql;# MySQL returned an empty result set (i.e. zero rows).
EXECUTE stmt;# Rows: 3
DEALLOCATE PREPARE stmt;# MySQL returned an empty result set (i.e. zero rows).

如您所见,我也更改了 group_concat_max_len...但没有任何改变...

最佳答案

在分析phpMyAdmin bug reported for this question时,我意识到这个查询在某些服务器上有效,而在其他服务器上失败,所以这更像是 MySQL 服务器不兼容,而不是 phpMyAdmin 中的问题。在这种情况下,不同的 MySQL 服务器版本的行为不同(严格来说,不遵循 MySQL 文档定义的语法)。

我测试过:

  • 在 MySQL 5.5.46 中,phpMyAdmin 和命令行中的查询均失败
  • 在 MariaDB 10.0.24 中,查询在 phpMyAdmin 和命令行中都可以正常工作

关于Mysql:数据透视表在 sqlfiddle 中工作但在 phpmyadmin 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35667444/

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