如何过滤每个返回行的 json 数组?

2024-02-05

我有一个带有 json 字段的表,其中存储了对象数组。 我想查询此表,并通过使用某些条件过滤它们,为每个返回的行仅返回 json 数组对象的子集。

例如对于行:

id = 1, jsonColumn = [{ field: 'abc' },{ field: 'def' },{ field: 'ghi' }]
id = 2, jsonColumn = [{ field: 'abc' },{ field: '123' },{ field: '456' }]
id = 3, jsonColumn = [{ field: 'abc' },{ field: '789' },{ field: 'XXX' }]

我想选择所有行,并且每行应仅包含 jsonColumn 元素where field = 'abc'。我只想过滤此列,而不返回数组中包含特定元素的行...


您可以使用json_array_elements取消嵌套 JSON 和array_agg过滤后将其嵌套回去。像这样的东西:

SELECT t.id, array_to_json(array_agg(j))
FROM your_table t, json_array_elements(t.jsonColumn) j
WHERE j->>'field' = 'abc'
GROUP BY id;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何过滤每个返回行的 json 数组? 的相关文章

  • 获取 Postgres 数据库中每个表的行数

    获取数据库中所有表的行数的最有效方法是什么 我正在使用 Postgres 数据库 结果示例 table name row count some table 1 234 foobar 5 678 another table 32 如果您想要特
  • 将 PostgreSQL 中的 IP 地址转换为整数?

    有没有一个查询可以完成这个任务 例如 给定一个条目 216 55 82 34 我想用 分割字符串 并应用等式 IP 号 16777216 w 65536 x 256 y z 其中 IP 地址 w x y z 仅通过查询就可以实现这一点吗 您
  • 在PostgreSQL中使用查询设置列类型

    优秀后answer https stackoverflow com questions 4336259 how to query the schema details of a table in postgres作者 Alexandre G
  • Django Channels Postgres InterfaceError:连接已关闭

    我似乎无法理解这里的问题 我正在为我的渠道消费者编写测试文档中的描述 https channels readthedocs io en latest topics testing html 我通常会使用 Django 默认的单元测试 但由于
  • 带回调或异步/等待的节点 postgres 事务?

    我正在运行 Node 7 6 0 它支持 async await node postgres 客户端池支持 async await 并且有一个很好的示例here https github com brianc node pg pool pl
  • 当我耗尽 bigint 生成的密钥时会发生什么?怎么处理呢?

    我自己无法想象一个好的答案 所以我想在这里问 在我心里 我总是想知道 如果AUTO INCREMENT PRIMARY ID我的专栏MySQL表用完了吗 举例来说 我有一个有两列的表 一个ID auto increment primary
  • Postgres 运行缓慢的删除查询

    我们有一个表 其行数刚刚超过 62k 我们正在对其运行一个非常简单的删除查询 需要 45 分钟才能完成 DELETE FROM myTable WHERE createdtime lt 2017 03 07 05 00 00 000 我们尝
  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • 如何从主机连接到 Docker Postgres 容器

    我按照以下说明搭建了一个 Rails 开发环境https docs docker com compose rails https docs docker com compose rails 它可以工作 但我无法从主机连接到 Postgres
  • 如何覆盖 Ruby Ranges 的 .. 和 ... 运算符以接受 Float::INFINITY?

    我想覆盖 and Ruby 中的运算符Range 原因是 我正在处理数据库中的无限日期范围 如果你拉一个infinty从 Postgres 中取出日期时间 你会得到一个Float INFINITY在红宝石中 问题是 我无法使用Float I
  • 如何记录数据库代码以查看数据库对象之间的依赖关系? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想为我的宠物项目编写文档 我的 PostgreSQL 数据库中有 30 个表 近 50 个视图和大约 30 个函数 存储过程 我想看
  • 返回年份数组作为年份范围

    我正在尝试查询一个包含以下内容的表character varying 年份列 并将这些年份作为逗号分隔的年份范围字符串返回 年份范围将由数组中存在的连续年份确定 不连续的年份 年份范围应以逗号分隔 数据类型的原因是character var
  • Postgres 中 -Infinity 和 Infinity 的适当值

    在一种情况下 我们必须在 Postgres DB 中存储 无穷大和 无穷大的值 应该考虑什么合适的值 如果没有 请建议最合适的替代方案 你实际上可以使用 infinity and infinity for FLOAT4 and FLOAT8
  • JPA 和 PostqreSQL:长字符串持久化

    谁能告诉我如何使用 JPA 保存长文本 我使用 PostgreSQL 这是我在类中定义很长字符串的方法 Lob private String body 然而 这会产生一个类型的字段字符变化 255 在数据库中 此外 我尝试使用 Column
  • PostgreSql“运行安装后步骤...数据库集群初始化失败”

    我是一名 Windows 用户 我花了几个小时不断地安装和卸载 然后才使其正常工作 前 10 次左右才看到标题中的错误消息 我将其作为一个自我回答的问题放在这里 以防止其他人在安装时可能遇到同样的问题 并为像我这样第一次使用 Postgre
  • 优化 LATERAL join 中的慢速聚合

    在我的 PostgreSQL 9 6 2 数据库中 我有一个查询 该查询根据一些股票数据构建计算字段表 它为表中的每一行计算 1 到 10 年的移动平均窗口 并将其用于周期性调整 具体来说 CAPE CAPB CAPC CAPS 和 CAP
  • Postgres < 9.0 的 DO 块相当于什么

    Postgres 8 4 8 相当于什么 DO BEGIN IF NOT EXISTS THEN EXECUTE END IF END create function f returns void as BEGIN IF NOT EXIST
  • 唯一约束与唯一索引?

    之间有区别吗 CREATE TABLE p product no integer name text UNIQUE price numeric and CREATE TABLE p product no integer name text
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT
  • Postgres JSON 数据类型 Rails 查询

    我正在使用 Postgres 的 json 数据类型 但想要使用嵌套在 json 中的数据进行查询 排序 我想在 json 数据类型上使用 where 进行订购或查询 例如 我想查询关注者数量 gt 500 的用户 或者我想按关注者或关注数

随机推荐

  • 在 Python 中验证 (X)HTML

    验证文档是否遵循某个 HTML 版本 最好是我可以指定 的最佳方法是什么 我希望能够知道失败发生在哪里 就像在基于 Web 的验证器中一样 但在本机 Python 应用程序中除外 PyTidyLib http countergram git
  • 将x和y轴添加到所有facet_wrap

    通常希望尽量减少绘图中的墨水 我有一个多面情节 facet wrap 并希望去除尽可能多的墨水但保持可读性 我已经按照我的意愿进行了设置 除了 x 轴和 y 轴不存在于面 子图 中 除非位于最左侧或底部 去除了这么多墨水后 我相信眼睛需要这
  • 重载解析算法中如何确定歧义?

    我试图理解重载解析方法 为什么这是模棱两可的 void func double int int double void func int double double double void main func 1 2 3 4 但这不是吗 v
  • XCode 警告:“/* 在块注释内”

    我真的很喜欢通过这样注释来临时启用和禁用代码部分 some code 注意 代替 在最后 然而 XCode 不断向我发出警告 within block comment 有没有办法 自定义禁用 特定警告 为什么 我会告诉你为什么 因为我可以轻
  • 如何将 std::max_element 用于结构

    我想用std max element对于结构体VAR T基于id元素 但我无法将起始点和停止点与该函数的输入链接起来 typedef struct VAR int id char b 16 VAR int a 0 strcpy b VAR
  • 如何从警报框中获取文本?

    我需要从警报框中获取文本 我没有足够的声誉来上传图像 所以我上传代码而不是图像 有没有办法使用 Greasemonkey 在 Chrome 上 从弹出窗口 获取文本 查询不清楚 但是如果我理解正确的话 页面上有一个 JavaScript 会
  • JRHtmlExporter 现已弃用。如何定义图片保存路径?

    The JRHtml导出器类现在已弃用 JasperReports 6 x 我将这个类的用法替换为Html导出器 但我找不到等效的函数来替换exporter setParameter JRHtmlExporterParameter IMAG
  • Summernote 图像上传和替代方案不起作用

    我在我的网站上使用 Summernote 编辑器 并使用其网站上提到的 Click2edit 方法实现它here http www usrtriton nl assets bower summernote example html 然而 如
  • 在背景中绘图

    我有一个 IOS 应用程序 需要更新视图以响应用户或外部事件 绘制时间可以很短也可以很长 几秒 具体取决于视图中的内容 现在 绘图是在视图的 drawRect 方法中进行的 当绘图很长且存在大量用户交互时 应用程序将变得无响应 当需要更新时
  • 运行 liquibase 时出现值“CONTINUE”不是构面有效错误

    当我尝试运行以下命令时 java jar liquibase 3 4 1 jar classpath postgresql 9 2 1004 jdbc4 jar logLevel severe url jdbc postgresql loc
  • 是否可以更改 Postgres 中列的自然顺序?

    是否可以更改 Postgres 8 1 中列的自然顺序 我知道你不应该依赖列顺序 它不是基本的到我正在做的事情 我只需要它使一些自动生成的东西以更令人愉悦的方式出现 以便字段顺序从 pgadmin 通过后端一直到前端匹配 实际上 您可以直接
  • 复选框的表单模型绑定

    我正在使用 Laravel 4 1 在我的应用程序中我需要显示一个带有预填充复选框的表单 但我尝试使用表单模型绑定来做到这一点 但它不起作用 Form model user array route gt settings notify di
  • 如何在 Python 中将自定义类设为集合

    我有 Matlab 背景 在 matlab 中 我可以创建一个类定义 然后创建一个对象数组 我可以轻松地使用索引取消引用每个对象 此外 当我从对象数组 没有索引 调用方法时 我可以访问数组中的所有对象 例如 假设 myNewClass 具有
  • DotNetOpenAuth 可在哪些 .NET 框架上使用?

    大多数 全部 OAuth 资源 有关协议和代码库的信息 以便在您自己的应用程序中轻松使用它们 人们似乎在互联网上找到的资源似乎假设您正在使用它的应用程序是一个 Web 应用程序 不过我想开始使用 OAuth我的 Windows Mobile
  • 使用jdatabase更新数据库中的记录

    如何使用数据库更新 Joomla 3 中的记录 这是我到目前为止所拥有的 db JFactory getDBO query db gt getQuery true query gt update test AS h query gt set
  • Arrays.asList 给出 UnsupportedOperationException [重复]

    这个问题在这里已经有答案了 The List由返回Arrays asList不能通过使用诸如add or remove 但如果你把它传递给Collections sort方法 它可以毫无问题地对数组进行排序 我预计会出现异常 这似乎是一种非
  • 无法重新安装 Python 2.7 的 PyTables

    除了 2 7 之外 我还安装了 Python 2 7 当再次安装 PyTables 2 7 时 我收到此错误 发现已安装 numpy 1 5 1 软件包 错误 找不到本地 HDF5 安装 您可能需要明确说明本地 HDF5 标头和 可以通过设
  • 为什么这个构造函数无法在 Codeigniter 中加载?

  • 如何在javafx-8中setEnabled()?

    与 Swing 不同 Javafx 8 似乎没有用于 UI 控件的 setEnabled 方法 或等效方法 解决方法的建议 您可以使用setDisable 而不是 javaFx 中的 setEnabled 喜欢button setDisab
  • 如何过滤每个返回行的 json 数组?

    我有一个带有 json 字段的表 其中存储了对象数组 我想查询此表 并通过使用某些条件过滤它们 为每个返回的行仅返回 json 数组对象的子集 例如对于行 id 1 jsonColumn field abc field def field