Mysql 对JSON_对象和DISTINCT的SQL查询
我正在尝试使用工作正常的JSON_Arrayagjson_对象将查询结果输出为JSON对象。我不能在JSON_对象命令中使用DISTINCT,使用GROUP BY不会将整个结果输出为一个JSON,而是输出为每个JSON的行数。例如:Mysql 对JSON_对象和DISTINCT的SQL查询,mysql,sql,json,Mysql,Sql,Json,我正在尝试使用工作正常的JSON_Arrayagjson_对象将查询结果输出为JSON对象。我不能在JSON_对象命令中使用DISTINCT,使用GROUP BY不会将整个结果输出为一个JSON,而是输出为每个JSON的行数。例如: SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, ...)) FROM table 这很好,但不会过滤掉重复项。我试过: SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, \'
SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, ...)) FROM table
这很好,但不会过滤掉重复项。我试过:
SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, \'title\', DISTINCT(`title`), ...)) FROM table
以及:
但前者在语法上是错误的,后者将结果拆分为多行。有人能告诉我如何做到这一点吗?比如:
SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, ...)) FROM table
但是只有唯一的结果。您能将重复的查询包装为子查询并与之不同吗 从中选择不同的xyz 选择JSON_arrayagjson_对象“id\”,id。。。作为表1中的xyz
; 我对此表示怀疑,因为内部查询返回的是JSON,而不是行表示,但我会尝试一下。MYSQL最终我执行了一个普通但更复杂的sql查询,并使用服务器语言而不是直接使用sql进行JSON转换。
SELECT JSON_ARRAYAGG(JSON_OBJECT(\'id\', `id`, ...)) FROM table