2014-01-29 50 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