gpt4 book ai didi

mysql - 如果添加了另一列,则 group_concat 返回 null

转载 作者:行者123 更新时间:2023-11-29 04:41:48 27 4
gpt4 key购买 nike

我有以下代码

SELECT
GROUP_CONCAT(
CONCAT('{"id"', id, ','),
CONCAT('"COL1"', col1, ','),
CONCAT('"col2"', col2, ','),
CONCAT('"col3"', col3, ','),
CONCAT('"col4"', col4, '}')
SEPERATOR '\n')
AS json from tableX

整个group_concat返回null。如果我删除一个 concat(随机)它会起作用。

该表包含大约 1500 万行。我设置了

SET SESSION group_concat_max_len = 188446744073709551615;

知道为什么它会返回 null 吗?

最佳答案

试试这个,处理任何空值并查​​看您的输出是否确实超过了长度阈值:

  select json, length(json) from (
SELECT
GROUP_CONCAT(
CONCAT('{"id"', coalesce(id, '""'), ','),
CONCAT('"COL1"', coalesce(col1, '""'), ','),
CONCAT('"col2"', coalesce(col2, '""'), ','),
CONCAT('"col3"', coalesce(col3, '""'), ','),
CONCAT('"col4"', coalesce(col4, '""'), '}')
SEPARATOR '\n')
AS json from tableX
) x
-- limit 200000

如果 group_concat 函数让 NULL 值覆盖其他所有值(我不确定),那么您已经满足了。

更新:SEPERATOR 是一个拼写错误 - 它应该是 SEPARATOR

关于mysql - 如果添加了另一列,则 group_concat 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26839716/

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