mysql使用json_table函数查询json数组中复合条件的数据

17 篇文章 1 订阅

mysql中如何在json数组中查询复合条件的json对象,

目前好实现的是转换临时表,在临时表中加where条件做判断。

select '[{"k": "1", "v": "https://www.bilibili.com/video/BV1dU4y147t8?from=search&seid=17686981769015229460&spm_id_from=333.337.0.0c", "desc": "提升排名视频课程"}, {"k": "1", "v": "https://www.bilibili.com/video/BV1xq4y1G7Mj?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "提升排名视频课程"}, {"k": "2", "v": "https://www.bilibili.com/video/BV1Sq4y1C7Jc?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "xxxx视频课程"}, {"k": "2", "v": "https://www.bilibili.com/video/BV1Ws411P7Nu?from=search&seid=272572936245601262&spm_id_from=333.337.0.0", "desc": "xxxx视频课程"}]' into @aa;
SELECT @aa;

select
	*
from
	json_table(@aa,'$[*]' 
	columns (k varchar(500) path '$.k',
	`v` varchar(500) path '$.v',
	`desc` varchar(500) path '$.desc'
	)) as tt
where tt.k = 1

mysql官网链接:

MySQL :: MySQL 8.0 Reference Manual :: 12.18.6 JSON Table Functions

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值