2014-01-29 26 views
1

我有这样的MySQL查询:MySQL查询犯规显示所有数据

SELECT `fecha`, GROUP_CONCAT(CONCAT_WS('|', `idItem`, `nombreItem`, `cantidad`) ORDER BY `fecha`) schedule 
    FROM inventarioStat 
GROUP BY fecha 

的一点是它不显示在它应该在数据中的所有数据。它只显示最近的50个条目?有没有什么限制或什么我没看到?

你能把我推向正确的方向吗?

回答

4

根据手册中的这个页面,结果被截断。

http://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html#function_group-concat

的结果被截断到由所述group_concat_max_len系统变量,其具有1024的值可被设定得较高的默认值给定的最大长度,尽管返回值的有效最大长度受max_allowed_pa​​cket的值限制。

尝试更改此设置,看看是否是这种情况:

SET [GLOBAL | SESSION] group_concat_max_len = val; 
+0

您的权利,生病改变它。 – ToBe

+0

感谢您的快速回答,就是这样。任何建议我应该怎么去做呢?提高最大允许数据包的后果是什么?有没有办法解决? – Iznogud

+0

你可以选择所有的内容作为单独的行和应用程序逻辑中的concat。 – ToBe