当前位置: 首页 > news >正文

15.postgresql--jsonb 数组进行打平,过滤

用jsonb_array_elements函数先展开数组,再用jsonb_each函数遍历元素中的键值对

例如:

SELECT *
FROM data_table,
LATERAL jsonb_array_elements(json_column) WITH ORDINALITY as elem(element, idx)
JOIN LATERAL jsonb_each(elem.element) as kv(key, value) ON TRUE
WHERE kv.key = 'key_to_find' AND kv.value > 10;

name |rule_types |
------±---------------------------------------------------------------+
TIKTOK|[{“key”: “A”, “name”: “NAME_A”}, {“key”: “B”, “name”: “NAME_B”}]|
SHANG |[{“key”: “A”, “name”: “NAME_A”}, {“key”: “B”, “name”: “NAME_B”}]|
OTHER |[{“key”: “C”, “name”: “NAME_C”}, {“key”: “D”, “name”: “NAME_D”}]|

SELECT *
FROM ecomm.ywl_test ,
LATERAL jsonb_array_elements(rule_types) WITH ORDINALITY as elem(element, idx)
JOIN LATERAL jsonb_each(elem.element) as kv(key, value) ON TRUE

在这里插入图片描述在这里插入图片描述
过滤

  SELECT *
FROM ecomm.ywl_test ,
LATERAL jsonb_array_elements(rule_types) WITH ORDINALITY as elem(element, idx)
JOIN LATERAL jsonb_each(elem.element) as kv(key, value) ON TRUE
WHERE kv.key = 'key' AND kv.value ='"A"';
http://www.lryc.cn/news/489429.html

相关文章:

  • linux下i2c开发与框架源码分析
  • [ruby on rails] 安装docker
  • I2C学习
  • VUE:基于MVVN的前端js框架
  • 06、Spring AOP
  • c语言学习26字符串的应用
  • 法语旅游常用口语-柯桥学外语到蓝天广场泓畅学校
  • Kafka 生产者优化与数据处理经验
  • MySQL 主从复制之多线程复制
  • Linux2.6内核进程调度队列
  • Infineon(英飞凌) TLE985xQX 芯片电机工作电流、电压AD采样
  • Sparrow系列拓展篇:对信号量应用问题的深入讨论
  • 图文详解Docker下配置、测试Redis
  • Python编程艺术:优雅与实用的完美平衡(推导式)
  • Spring Boot框架Starter组件整理
  • C/C++基础知识复习(27)
  • IEC61850实现方案和测试-2
  • flume-将日志采集到hdfs
  • 一文学习开源框架LeakCanary
  • jetson orin系列开发版安装cuda的gpu版本的opencv
  • 数据结构-8.Java. 七大排序算法(中篇)
  • 数据结构C语言描述4(图文结合)--栈的实现,中序转后序表达式的实现
  • python基本数据类型 -- 元组tuple
  • tcpdump交叉编译
  • Spring IOC注入方式、Bean作用域
  • uniapp微信小程序转发跳转指定页面
  • 利用uniapp开发鸿蒙:运行到鸿蒙模拟器—踩坑合集
  • 【Vue】Vue3.0(二十五)Vue3.0中的具名插槽 的概念和使用场景
  • 【pytorch-02】:张量的索引、形状操作和常见运算函数
  • C语言-指针作为函数返回值及二级指针