mySql SELECT GROUP_CONCAT 查询不是 return 长文本单元格中的所有数据
mySql SELECT GROUP_CONCAT query not return all data in longtext cell
我有一个包含很长字符串的单元格。
如果我使用这个查询:
SELECT dettPDE FROM bollaOutDett WHERE idDoc>0 GROUP BY idDoc;
我没有问题,但在某些情况下我需要使用这个:
SELECT GROUP_CONCAT(DISTINCT IF(dettPDE='',NULL, dettPDE) SEPARATOR '|') AS dettPDESch
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc;
在这种情况下,dettPDESch 不正确 return。
这里是测试代码:
DROP TABLE IF EXISTS bollaOutDett;
CREATE TABLE bollaOutDett (idDoc int, dettPDE longtext);
INSERT INTO bollaOutDett (idDoc, dettPDE)
VALUES
(1, '[{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"H1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"J1","artLot":"0","lotto":""}]'),
(2, ''),
(3, '[{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"H1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"J1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"K1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K4","artLot":"0","lotto":""}]'),
(4, '');
SELECT GROUP_CONCAT(DISTINCT IF(dettPDE='',NULL, dettPDE) SEPARATOR '|') AS dettPDESch
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc;
SELECT dettPDE
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc
有什么建议吗?
原文link转码:here
group_concat 长度有限制
Default Value 1024
您可以使用适当的设置更改此限制
SET SESSION group_concat_max_len = 1000000;
的最大限制
The maximum value for group_concat_max_len for 64-bit is
18446744073709551615
The maximum value for group_concat_max_len for 32-bit is 4294967295
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len
我有一个包含很长字符串的单元格。 如果我使用这个查询:
SELECT dettPDE FROM bollaOutDett WHERE idDoc>0 GROUP BY idDoc;
我没有问题,但在某些情况下我需要使用这个:
SELECT GROUP_CONCAT(DISTINCT IF(dettPDE='',NULL, dettPDE) SEPARATOR '|') AS dettPDESch
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc;
在这种情况下,dettPDESch 不正确 return。
这里是测试代码:
DROP TABLE IF EXISTS bollaOutDett;
CREATE TABLE bollaOutDett (idDoc int, dettPDE longtext);
INSERT INTO bollaOutDett (idDoc, dettPDE)
VALUES
(1, '[{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"H1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"J1","artLot":"0","lotto":""}]'),
(2, ''),
(3, '[{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"H1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"H4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"J1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"J4","artLot":"0","lotto":""},{"tab":"PArticoli","id":"3","codProdotto":"2SA1264N","qta":"1","artSer":"1","seriale":"K1","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K2","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K3","artLot":"0","lotto":""},{"tab":"PArticoli","id":"879","codProdotto":"2SA1267","qta":"1","artSer":"1","seriale":"K4","artLot":"0","lotto":""}]'),
(4, '');
SELECT GROUP_CONCAT(DISTINCT IF(dettPDE='',NULL, dettPDE) SEPARATOR '|') AS dettPDESch
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc;
SELECT dettPDE
FROM bollaOutDett
WHERE idDoc>0
GROUP BY idDoc
有什么建议吗?
原文link转码:here
group_concat 长度有限制
Default Value 1024
您可以使用适当的设置更改此限制
SET SESSION group_concat_max_len = 1000000;
的最大限制
The maximum value for group_concat_max_len for 64-bit is 18446744073709551615
The maximum value for group_concat_max_len for 32-bit is 4294967295
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_group_concat_max_len