我对动态SQL查询/行数据到列名有一个小/大问题。我有这个链接:http://sqlfiddle.com/!9/b4478/1
但是如果我添加更多的数据,查询不工作。输入错误:
You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near 'FROM test
GROUP BY nid' at line 2
我的数据库目前很大。在接下来的几天里,我制作了空数据库。添加到名称(另一个表,连接id到"nid")、日期(datum)、金额(osszeg)。每周的数据都太多了(可能是一次太多了,然后查询就不工作了)
和我需要一个简单的/单一的PHP查询代码为这个查询。
谢谢你的帮助,抱歉我的英语不好。非常谢谢!没有看到实际的SQL语句,我们只是猜测。但是我怀疑您正在遇到GROUP_CONCAT
函数的文档行为,它返回由MySQL变量GROUP_CONCAT_MAX_LEN
指定的最大长度的字符串。默认为1024字节。
参考:https://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html sysvar_group_concat_max_len
SET group_concat_max_len = 1024;
为了调试,你可以让MySQL存储程序发出@sql
的内容,而不是试图准备它,例如
SELECT @sql;
您可以考虑比较GROUP_CONCAT
函数返回的字符串的长度(以字节为单位)是否等于GROUP_CONCAT_MAX_LEN
的最大长度,以检查该值是否已被截断。
另一方面,我会选择将此结果作为一组行返回,而不是作为单行上的列返回。我将做任何必要的翻译显示在客户端,而不是在数据库中做它。