mysql - Mysql - 在数组中找到 JSON_CONTAINS
问题描述
我有包含以下数据的 json 列:
[{"option_id": 1, "category_id": 1}, {"option_id": 2, "category_id": 2}]
我正在尝试查找option_id = 1的记录
这是我正在尝试的查询:
select count(*) as aggregate from `complaint_forms`
where json_contains(`outcome_options`, '1', '$."option_id"')
计数为 0。我在这里做错了什么?
解决方案
您希望将候选对象指定为具有所需属性和值的对象,而不仅仅是值,而不是指定路径:
select count(*) as aggregate from `complaint_forms`
where json_contains(`outcome_options`, '{"option_id":1}')
推荐阅读
- r - 在数据框的单列中分解分类变量向量?
- spring-boot - Spring sleuth kafka模板注入
- amazon-s3 - 如何在 S3 中查找哪个文件具有特定值?
- javascript - 将字符串作为正则表达式模式传递给 String.prototype.replace
- gsoap - 当编码为文档/文字时,gSOAP 不起作用
- c# - C# 读取控制台中写的内容
- javascript - ES6 类实例变量是如何工作的
- angular - 如何在 Angular 中添加 cytoscape 扩展
- ios - SwiftUI tabItem 与系统图像大小与可访问性
- excel - 将工作表复制到另一个工作簿