Postgres 将所有数组值与条件 ---updated 匹配到同一列

2023-12-26

我有表 table_a 和以下列

id  event_id
1   101
1   102
1   103
2   105
2   103
2   106

I 和 to 搜索 (101, 103) 使用 and 条件类似于使用 OR 条件进行 IN 查询

例如,id 1 与 101 和 103 event_id 均匹配;

为此,我编写了以下查询,但它不起作用。

select * from table_a where event_id = ALL(ARRAY[101,103]);

更新 - - - - - - - - - - - - - -我还有另一个问题

假设 id 是另一个具有这样关系的表 event_categories 的外来对象。

id      parent_id
101     null
102     101
103     101
104     null
105     104

所以我想根据 AND 与父事件类别,或在该父事件的子事件类别内从 table_a 获取记录。

例如 101、104 与 AND 102、103 在 101 的 OR 范围内


您需要将所有 event_ids 聚合为一个 ID:

select id
from table_a
group by id
having array_agg(event_id) @> array[101,103];

The @>是 contains 运算符,因此它检查所有 event_ids 的数组是否包含具有这两个 ID 的数组。

这将返回任何具有at least两个事件 101 和 103 (这就是您在问题中所要求的)。

如果您想查找那些具有exactly您可以使用这两个 event_id (您的示例数据不包含):

select id
from table_a
group by id
having array_agg(distinct event_id order by event_id) = array[101,103];

请注意,数组中元素的顺序对于=运算符(与“包含”不同)@>操作员)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgres 将所有数组值与条件 ---updated 匹配到同一列 的相关文章

  • SQL 分隔符上的逗号分隔列

    这是一个 split 函数 它可以应用为dbo Split sf we fs we 当我将字符串更改为列名时 它不起作用 例如dbo Split table columnName Select from dbo Split email pr
  • 使用 psycopg2 转义 Postgres 的 SQL“LIKE”值

    psycopg2 是否有转义 a 值的函数LIKEPostgres 的操作数 例如 我可能想匹配以字符串 20 of all 开头的字符串 所以我想写这样的内容 sql WHERE LIKE myvalue s cursor fetchal
  • 连接所有 PostgreSQL 表并创建 Python 字典

    我需要加入allPostgreSQL 表并将它们转换为 Python 字典 数据库中有72张表 总列数大于1600 我编写了一个简单的 Python 脚本 该脚本连接多个表 但由于以下原因无法连接所有表内存错误 https gist git
  • SQL Server 中全文搜索的奇怪行为

    我的 MyTable 带有列消息 NVARCHAR MAX ID 为 1 的记录包含消息 0123456789333444 Test 当我运行以下查询时 DECLARE Keyword NVARCHAR 100 SET Keyword 01
  • 单个查询删除并显示重复记录

    采访中提出的问题之一是 一张表有100条记录 其中 50 个 是重复的 是否可以用单个 查询删除重复记录 从表中以及选择和 显示剩余 50 条记录 这可以在单个 SQL 查询中实现吗 Thanks SNA 对于 SQL Server 你会使
  • MySQL Tinybit(1) 通过视图的列

    我有一个连接 2 个表的视图 其中一个表具有表示布尔值的tinyint 1 类型的列 该表在连接时并不总是有条目 因此当行丢失时视图需要采用 0 false 值 我希望视图公开 TINYINT 1 类型且 NOT NULL 类型的列 因为它
  • 从 SQL 数据库获取日期时间

    我的数据库表中有一个 DateTime 记录 我编写一个查询从数据库中获取它 string command2 select Last Modified from Company Data where Company Name Descrip
  • 使用显式创建表语句与 select into 创建表

    使用显式创建表语句和加载数据与选择数据之间是否存在性能差异 此示例仅显示 2 列 但问题是针对使用非常大的表 下面的示例也使用临时表 尽管我也想知道使用常规表的效果 我认为无论表格类型如何 它们都是相同的 临时表场景 Explicitly
  • 记录 Google Cloud SQL PostgreSQL 实例上的慢速查询

    我工作的公司使用 Google Cloud SQL 来管理生产中的 SQL 数据库 我们遇到了性能问题 我认为查看 监控高于特定阈值 例如 250 毫秒 的所有查询是一个好主意 除其他外 通过查看PostgreSQL 文档 https ww
  • PL/SQL 过程:如何返回 select 语句?

    我想创建一个存储过程 on ORACLE数据库服务器我的问题是 我不知道如何返回 select 语句 这是程序中应包含的逻辑 输入参数 过滤器1 int 过滤器2 字符串 with cte as select val1 val2 stdde
  • 如何获得组中“中间”值的平均值?

    我有一个包含值和组 ID 的表 简化示例 我需要获取中间 3 个值的每组的平均值 因此 如果有 1 2 或 3 个值 则它只是平均值 但如果有 4 个值 它将排除最高值 5 个值将排除最高值和最低值 等等 我正在考虑某种窗口函数 但我不确定
  • 如何获取Postgres当前的可用磁盘空间?

    在开始在数据库中进行某些工作之前 我需要确保至少有 1Gb 的可用磁盘空间 我正在寻找这样的东西 select pg get free disk space 是否可以 我在文档中没有找到任何相关内容 PG 9 3 操作系统 Linux Wi
  • 如何在“order by”中添加条件?

    我有一个带有输入参数的存储过程 现在根据这个参数 我的 order by 语句将发生变化 如果输入参数是 ID int类型列 则按ID排序 如果是 ProductType 则按产品类型排序 如果是 IssueDate 则应按问题日期排序 现
  • 如何选择列值不不同的每一行

    我需要运行一个 select 语句 返回列值不不同的所有行 例如 EmailAddress 例如 如果表格如下所示 CustomerName EmailAddress Aaron email protected cdn cgi l emai
  • INTEGER 到 DATETIME 的转换与 VB6 不同

    我正在查看一些遗留的 VB6 代码 比我的时代早很多年 它对 SQL 2005 数据库运行查询 它提供了日期限制WHERE子句 其中日期作为整数值给出CLng VB6 中的日期 e g WHERE SomeDateField gt 4006
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • 索引在 NOT IN 或 <> 子句中起作用吗?

    我读过 至少 Oracle 数据库中的普通索引基本上是 B 树结构 因此存储处理适当根节点的记录 小于 根的记录被迭代地存储在树的左侧部分 而 大于 根的记录被存储在右侧部分 正是这种存储方法有助于通过树遍历实现更快的扫描 因为深度和广度都
  • parent_id 是外键(自引用)并且为 null?

    浏览 Bill Karwin 的书 SQL Antipatterns 第 3 章 Naive Trees 邻接表 父子关系 有一个注释表的示例 CREATE TABLE Comments comment id SERIAL PRIMARY
  • 总结同一个 SQL 表上的两个条件

    给定一个 SQL 表 Transactions ID INT COMPANY ID INT STATUS INT where STATUS IN 0 1 表示免费交易并且STATUS IN 2 3 表示可计费交易 简单的 我希望 ANSI
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p

随机推荐

  • Android 7 WebView 与wrap_content

    我有一个WebView with android layout height wrap content 里面一个ScrollView 在 Android 7 之前 这会导致 WebView 的大小调整为我设置的本地 html 内容的高度lo
  • 如何在 python-gql 中使用变量?

    这个函数将返回所有用户而不是给定的用户名 我怎样才能使它正确 还有更好的 Python GraphQL 客户端吗 gql 太简单了 没有太多文档可以检查 def fetch user username query gql query get
  • 将深色模式/浅色模式保存到本地存储

    我有一个黑暗模式功能 HTML SCSS 和 javascript 工作正常 但是当我刷新页面时 一切都恢复正常 而不是黑暗模式 我想将深色模式和浅色模式的值保存到localStorage 但我很困惑 我不知道该怎么办 有人可以帮助我吗 请
  • 将字节数组保存到 Excel 文件

    我从 ssrs 报告中获取一个字节数组 然后我想将其保存在服务器上的 Excel 中以供进一步处理 我可以在客户端浏览器上导出它 但是当尝试将文件保存在服务器上时 它会保存 但打开时出现错误 excel 无法打开文件 因为文件格式或文件扩展
  • 带有 http-bind 的 strope.js 无法加载资源 404 未找到

    我尝试使用 strope js 连接 ejabberd 服务器 但出现以下错误 POST http localhost http bind 404 Not Found Strophe Bosh processRequest sendFunc
  • RTMP流录制

    我有一堂课 在 ExoPLayer 的帮助下观看 rtmp 流 player ExoPlayerFactory newSimpleInstance context val rtmpDataSourceFactory RtmpDataSour
  • 如何在NUnit测试用例中传递字符串和字典?

    我想对我的方法进行测试 我可以传递 2 个字符串变量 但我不知道如何传递Dictionary lt gt 它看起来像这样 Test TestCase agr1 askdwskdls Dictionary
  • 退出按钮覆盖整个屏幕

    退出按钮覆盖整个屏幕有什么问题 我设置的边界覆盖文本 Exit 因此边界为 x 280 y 385 width 70 height 20 覆盖整个框架的按钮图像 注意 我在笔记本电脑上尝试了相同的代码 它工作得很好 但是当我在学校计算机上运
  • 如何可靠地将 X11 键码转换回扫描码或隐藏使用 ID

    几乎自己解决了 背景信息 Linux 密钥代码 以下内容来自 linux xmodmap tutorial 扫描码 键盘发送到计算机的数字 USB用 键盘 它是由 USB 标准定义的 Keycode Linux 内核用来表示按键 或鼠标 的
  • 在 Visual Studio 2013 中使用 Bootstrap 调试响应式 Web 应用程序时,IE 11 引发异常

    当我调整浏览器窗口大小并遇到响应断点时 此 动态 方法会在第 3 行抛出异常 window BROWSERTOOLS CONSOLE SAFEFUNC function fn var returnFn function return fn
  • R 函数 bs() 的输出解释(B 样条基矩阵)

    我经常使用 B 样条进行回归 到目前为止 我从来不需要理解的输出bs详细信息 我只会选择我感兴趣的模型 并将其与lm 但是 我现在需要在外部 非 R 代码中重现 B 样条模型 那么 生成的矩阵的含义是什么bs 例子 x lt c 0 0 1
  • 如何更改 yii2 中所有 gridview 的标题颜色?

    我想更改所有标题的背景颜色GridViewYii2 中的头文件 我知道下面的代码可以完成这项工作 但我只想更改一次 所有标题都具有相同的颜色 code
  • Chrome 标签在前台长时间处于后台后崩溃/挂起

    我有一个显示实时统计数据的页面 它运行大量 JavaScript 发出大量 HTTP 请求 使用 D3 js 每隔几秒渲染一次 SVG 图表 具有大量 CSS 动画 并频繁重新排列 DOM 只要页面聚焦 它就可以顺利运行 如果我切换到另一个
  • 根据条件更改 GridView 行颜色

    我想根据某些条件更改 gridview 的特定行颜色 我正在使用 ASP NET 和 C protected void GridView1 RowDataBound object sender GridViewRowEventArgs e
  • Python内部排序方法[重复]

    这个问题在这里已经有答案了 有谁知道Python在list sort 内部使用什么类型的排序 或者它至少保证 O n log n 这docs http docs python org 2 tutorial datastructures ht
  • 具有重复键名称的 JSON 在解析时会丢失信息

    因此 要么我回去告诉某人他们应该修复 JSON 要么我需要找出我做错了什么 这是 JSON 请注意范围出现三次 String j jobname test parameters parameter name maxErrors value
  • 通过引用 id 分配给环境(即不将 env. 传递给子函数)

    程序员经常在大函数中使用多个小函数 一路上我们可能想要收集某个环境中的东西以供以后参考 我们可以创造一个环境new env hash FALSE 并将其传递给较小的函数并分配assign 好吧 花花公子 我想知道我们是否可以使用环境的引用
  • 更改 dsym 文件中的 uuid

    我一直在努力改变uuid生成的 dsym 文件 以便 crashlytics 可以将崩溃日志与dsym 你知道有什么方法可以做到吗 有关更多上下文 在构建期间上传 dsym 的脚本失败 我没有注意到 Bitcode 被禁用 因此 itune
  • 如何在 Android 中以编程方式在 EditText 中设置 Id

    我在 GridLayout 上有一个名为 addnewTask 的按钮 当您创建此按钮时 它将创建一个 EditText private GridLayout gridLayout int rowIndex 3 int colIndex 1
  • Postgres 将所有数组值与条件 ---updated 匹配到同一列

    我有表 table a 和以下列 id event id 1 101 1 102 1 103 2 105 2 103 2 106 I 和 to 搜索 101 103 使用 and 条件类似于使用 OR 条件进行 IN 查询 例如 id 1