Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 对JSON_对象和DISTINCT的SQL查询_Mysql_Sql_Json - Fatal编程技术网

Mysql 对JSON_对象和DISTINCT的SQL查询

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`, \'

我正在尝试使用工作正常的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`, \'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