gpt4 book ai didi

mysql - 使用 MySQL 获取行的 JSON 数组

转载 作者:行者123 更新时间:2023-11-29 09:50:07 25 4
gpt4 key购买 nike

我希望MySQL以JSON数组的形式返回结果集。

有效的查询:

SELECT CONCAT(
'[',
GROUP_CONCAT(
JSON_OBJECT(
'ProductId', tblproducts.ProductId,
'ProductName', tblproducts.ProductName
)
),
']') As Products
FROM tblproducts;

此查询返回以下 JSON 数组:

[
{
"ProductId": "1",
"ProductName": "Milk"
},
{
"ProductId": "2",
"ProductName": "Bread"
}
]

尽管此代码有效,但我强烈感觉使用 GROUP_CONCATCONCAT 构建 JSON 数组是一种解决方法。如果使用 JSON_ARRAY,结果集将包含每个 JSON_OBJECT 的 JSON 数组。

是否有任何 native 方法可以获取结果集中包含所有 JSON_OBJECT 的单个 JSON 数组?

最佳答案

JSON_ARRAYAGG() 可能就是您正在寻找的。

SELECT JSON_ARRAYAGG(
JSON_OBJECT(
'ProductId', tblproducts.ProductId,
'ProductName', tblproducts.ProductName
)
) FROM tblproducts;

这是一个示例:https://www.db-fiddle.com/f/uQ9UC7MDZM4gncNjViTsKw/0

关于mysql - 使用 MySQL 获取行的 JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54960658/

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