MySQL JSON数组按值列计数
例如:创建JSON数组:MySQL JSON数组按值列计数,mysql,json,Mysql,Json,例如:创建JSON数组: select JSON_ARRAY(JSON_OBJECT('check1', "false", 'check2', 'false'), JSON_OBJECT('check2', "true", 'check3', 'true'), JSON_OBJECT('check3', "false", 'check4', 'false')) as c1; 每个对象中的关键点都是动态的。如何计算每个对象一次有多少值
select JSON_ARRAY(JSON_OBJECT('check1', "false", 'check2', 'false'),
JSON_OBJECT('check2', "true", 'check3', 'true'),
JSON_OBJECT('check3', "false", 'check4', 'false')) as c1;
每个对象中的关键点都是动态的。如何计算每个对象一次有多少值为false
我使用的是JSON_SEARCHarray,'all','false';它回来了
["$[0].check1", "$[0].check2", "$[2].check3", "$[2].check4"]
我想买点像这样的东西
[$[0], $[1]]
得到的长度是2
谢谢。
-源数据
cte1为SELECT JSON_ARRAYJSON_对象'check1',false','check2','false',
JSON_对象'check2',true',check3',true',
JSON_对象'check3',false',check4',false'c1,
-搜索指定的值
cte2作为选择JSON_SEARCHc1,‘全部’、‘假’c1
来自cte1
-分析搜索结果,统计不同的元素
选择COUNTDISTINCT子字符串_INDEXvalue,'.',1 cnt
来自cte2
交叉连接JSON_TABLECASTcte2.c1作为JSON,
$[*]列值VARCHAR254路径$jsontable;
按子字符串_INDEXvalue“.”分组,1
[$[0], $[1]]