pgSQL中对json数组中的一个元素中的字段进行条件查询

news/2024/11/1 4:39:15/

pgSQL中的jsonb是用来存储json字段的一个数据类型

然鹅有些时候,如果我们需要对json数组中的一个元素中的字段进行条件查询,这个时候应该怎么办?

{list: [{field:1},{field:2}          ] 
}

例如上例:我想要查询表中所有记录下,对应上述jsonb类型的json字段中,list对应的列表下,field为1的记录

这个时候可以使用到jsonb提供的一个数组函数

SELECT count(*) FROM table WHERE table.column in 
( SELECT * FROM jsonb_array_elements(column->'list') AS elem WHERE elem ->> 'field' = '1' );

我们通过jsonb_array_elements这个函数可以将参数中指定的json数组进行元素提取,把它们提取出来作为一个一维列表并可以对里面的每一个元素进行条件查询

上述sql的子查询表达的就是对column这列中的json字段中,key为list的json列表进行筛选,要求里面的每一个元素的field对应的值必须为1的记录

http://www.ppmy.cn/news/1543492.html

相关文章

Java项目实战II基于微信小程序的马拉松报名系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、文档参考 五、核心代码 六、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。获取源码联系方式请查看文末 一、前言 马拉松运动…

基于优先级的 TODO 列表

1. 具有优先级的待办事项列表 在这个项目中,我开发了一个具有优先级的待办事项列表,使用 React 作为前端,使用 Tailwind CSS 进行样式设置,使用 Shadcn UI 来增强 UI 组件。 方法 1 - 使用表格 用户可以使用表单添加任务及其详…

Java学习Day57:碧水金睛兽!(Spring Cloud微服务1.0)

1.微服务入门 (1).单体架构与分布式架构 单体架构: 将业务的所有功能集中在一个项目中开发,打成一个包部署优点: 架构简单、部署成本低 ; 缺点: 耦合度高项目打包部署到Tomcat,用户直接访问。用户量增加后…

一文彻底搞定Redis与MySQL的数据同步

全文目录: 开篇语前言摘要概述数据同步的常见需求 源码解析1. Maven依赖2. 配置文件3. 实体类4. 数据访问层5. 服务层实现数据同步 使用案例分享使用RabbitMQ实现数据同步1. 添加RabbitMQ依赖2. 配置RabbitMQ3. 发送消息4. 消费消息 应用场景案例优缺点分析优点缺点…

数据挖掘(一)

数据挖掘(一) 文章目录 数据挖掘(一)亲和性分析示例分类问题的简单示例完整实例 数据挖掘旨在让计算机根据已有数据做出决策。决策可以是预测明天的天气、拦截垃圾邮件、检测网站的语言,或者在约会网站上发现新的恋爱对…

LinkedList和链表(下)

1. 什么是LinkedList 在练习了单链表的自我实现和单链表的一些习题之后,我们正式来认识一下java提供的LinkedList,这是一种双向链表结构,在增删元素的时候效率比较高,不需要像ArrayList一样搬运元素.但是在查找方面效率比较低(需要遍历链表),ArrayList效率就比较高(直接由数组下…

蓝牙MCU蓝牙医疗检测相关案例

英尚蓝牙MCU配套成熟的网络协议栈和丰富的示例代码及多平台APP工具。无需二次开发,即连即用;提供特色蓝牙/串口/USB三通芯片,为更多复杂无线应用赋能。相关产品及技术欢迎咨询。 应用案例说明: • 应用包括血糖仪,血氧仪,血压计,体温计,毒品…

golang gin ShouldBind的介绍和使用

在 Go 语言的 Gin 框架中,ShouldBind 是用于将请求中的数据绑定到结构体的一个方法。它简化了从请求中提取参数的过程,支持多种数据格式(如 JSON、表单、查询参数等)。以下是 ShouldBind 的介绍和使用示例。 1. 基本概念 Should…