gpt4 book ai didi

mysql - 为什么 LIMIT 子句对于 JSON_ARRAYAGG 函数失败?

转载 作者:行者123 更新时间:2023-11-29 07:16:46 28 4
gpt4 key购买 nike

使用 JSON_ARRAYAGG 函数时,限制子句似乎不起作用。

有没有更好的方法来实现该功能?

SELECT * FROM USER_TABLE ORDER BY RAND() LIMIT 2;
--> Gives me 2 random employee details - which is perfect.

SELECT JSON_ARRAYAGG(JSON_OBJECT('userId', user_id)) FROM USER_TABLE ORDER BY RAND() LIMIT 2;
--> Gives me ALL the employee details. - which is INCORRECT.

最佳答案

使用不带 GROUP BY 子句的 JSON_ARRAYAGG() ,您将只获得一行。只有这样,LIMIT 2 才会被应用,并且(当然)不会对该单行产生任何影响。您可能需要的是 FROM 子句中的 LIMIT 2 子查询:

SELECT JSON_ARRAYAGG(json_obj)
FROM (
SELECT JSON_OBJECT('userId', user_id) as json_obj
FROM USER_TABLE
ORDER BY RAND()
LIMIT 2
) x

SELECT JSON_ARRAYAGG(JSON_OBJECT('userId', user_id))
FROM (
SELECT user_id
FROM USER_TABLE
ORDER BY RAND()
LIMIT 2
) x

关于mysql - 为什么 LIMIT 子句对于 JSON_ARRAYAGG 函数失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58824292/

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