使用嵌套JSON_ARRAYAGG()的使用功能组无效

时间:2020-10-31 12:05:35

标签: mysql sql nested-queries

我有以下简单查询

select 
    jrt.threadId,
    JSON_ARRAYAGG(
        JSON_OBJECT(
        'roundId',jrr.roundId,
        'bets', JSON_ARRAYAGG(
                    JSON_OBJECT(
                        'betId', bets.betId,
                        'amount', bets.amount
                    )
            )
        )
    ) as rounds
from threads jrt
    left join rounds jrr on jrt.threadId = jrr.threadId
            left join bets on jrr.roundId= bets.roundId
group by jrt.threadId

如果我从头一个bets键值中删除了JSON_OBJECT,这基本上可以工作。

我很难理解错误的确切原因,因为这几乎没有暗示性。

{"code":"ER_INVALID_GROUP_FUNC_USE","errno":1111}

如果我在JSON_ARRAY上使用bets聚合函数而不是JSON_ARRAYAGG,则查询也可以工作。

如果Bets是一个聚合,为什么JSON_ARRAYAGG会引发错误?

0 个答案:

没有答案