错误:数组不得包含空值 PostgreSQL

2024-04-30

我的查询是

SELECT
    id,
    ARRAY_AGG(session_os)::integer[]
FROM
    t
GROUP BY id
HAVING ARRAY_AGG(session_os)::integer[] && ARRAY[1,NULL]

它正在给予ERROR: array must not contain nulls

实际上我想得到像这样的行

  id   | Session_OS
-------|-------------
 641   | {1, 2}
 642   | {NULL, 2}
 643   | {NULL}

请检查此处的示例数据


The &&运营商不支持NULL价值观。所以,你需要另一种方法。例如,您可以首先将数据连接到表中。这给你id链接到您所需的数据。在第二步中,您可以使用这些来聚合所有值ids.

SELECT
    id,
    ARRAY_AGG(session_os)                        -- 4                         
FROM t
WHERE id IN (                                    -- 3
    SELECT 
        id
    FROM
        t
    JOIN (
        SELECT unnest(ARRAY[1, null]) as a       -- 1
    )s ON s.a IS NOT DISTINCT FROM t.session_os  -- 2
)
GROUP BY id
  1. 创建包含相关数据的表或查询结果,包括。这NULL value.
  2. 您可以加入数据,包括。这NULL值,使用运算符IS NOT DISTINCT FROM,它考虑了NULL.
  3. 现在您已经获取了相关的id可以使用的值WHERE filter
  4. 最后你可以做你的聚合
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:数组不得包含空值 PostgreSQL 的相关文章

随机推荐

  • Java初学者网络开发工具包/环境

    我的任务是使用 java 和 mysql 开发一个交互式网站 使用 servlet 检索和处理数据 使用小程序对客户端数据进行特殊处理 并处理客户端对不同数据视图的请求 您会推荐什么作为使用 java 进行 Web 开发的合适的通用工具包
  • DynamoDBMappingException:HASH 键没有映射

    编写 DynamoDB Java 应用程序时 如果表及其数据模型配置不正确 则在写入表或从表中检索时 您可能会收到 无 HASH 键映射 错误 完整的异常类似于 com amazonaws services dynamodbv2 datam
  • Django (JSONField) 和 tastypie

    我通过使用 JSONField 在 mysql 中创建了一个 TextField django 类型的表 这就是我的模型的样子 from django db import models from json field import JSON
  • 我什么时候应该在 ASP.NET MVC 中使用部分视图? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我已经完成了示例 asp net m
  • 在 Tridion 2011 SP1 中实现存储扩展时,未定义名为 No bean

    我正在尝试使用下面的示例来实现存储扩展 http www sdltridionworld com articles sdltridion2011 tutorials extending content delivery storage sd
  • 错误 C2601:“main”:本地函数定义非法 - MS VS 2013 编译器

    我正在用 C 编写一个小程序 当我尝试使用 MS VS 2013 编译器编译它时 出现错误 C2601 main 本地函数定义非法 这是什么意思 我的代码是 include
  • 在新选项卡或窗口中打开链接[重复]

    这个问题在这里已经有答案了 是否可以开一个a href链接在新选项卡而不是同一选项卡中 a href http your url here html Link a 您应该添加target blank and rel noopener nor
  • 加速Cuda程序

    要更改哪一部分来加速此代码 代码到底在做什么 global void mat Matrix a Matrix b int tempData new int 2 tempData 0 threadIdx x tempData 1 blockI
  • 在 C 中实现逻辑右移

    我正在致力于仅使用按位运算符在 C 中创建逻辑右移函数 这是我所拥有的 int logical right shift int x int n int size sizeof int size of int arithmetic shift
  • 为什么嵌套 Java 类不能从 Scala 导入?

    我应该如何使用嵌套 Java 类来模拟斯卡拉莫克 特别是当所说的嵌套 Java 类来自第三方库时 鉴于以下来源 src main java Outer java Outer class that offers a Nested class
  • 如何使用 tf-idf 选择停用词? (非英语语料库)

    我已经成功评估了tf idf 函数 http en wikipedia org wiki Tf idf对于给定的语料库 如何找到每个文档的停用词和最佳词 据我所知 给定单词和文档的 tf idf 较低意味着它不是选择该文档的好单词 停用词是
  • VSTS 构建失败并显示 MSB4184 路径不是合法形式

    我正在尝试使用 VSTS 中的构建系统来构建和部署 c net Web 应用程序 我创建了一个新的单项目解决方案 因为似乎没有任何方法可以指定在多项目解决方案中构建 部署哪个项目 并设置我的构建定义以指向这个新解决方案 我已将其设置为使用
  • java.library.path 中没有字体管理器

    以下代码在我的桌面上运行得很好 BufferedImage image new BufferedImage width height BufferedImage TYPE INT RGB Graphics g image getGraphi
  • 修改 SIR 模型以包含随机性

    我正在尝试通过将真实流行曲线与随机 SIR 模型的模拟进行比较来建立一种估计传染病参数的方法 为了构建随机 SIR 模型 我使用 deSolve 包 而不是使用固定参数值 我想从以原始参数值为中心的泊松分布中绘制每个时间点方程中使用的参数值
  • If 语句不遵循其条件

    在我的滚动代码中 您只需编写 r 然后按 Enter 键 但似乎不会读取该内容并转到重新启动 while 循环的 else 让它滚动的唯一方法是输入除 r 之外的其他内容 而不是 standard in 1 解析错误 bin bash th
  • 模板编译错误 - 没有匹配的调用函数

    我正在尝试将字符串转换为数字 为此 我找到了以下方法 include
  • 是否可以从C语言函数写入word文件?

    我有一个用 C 语言编写的图书馆管理系统 其中有 I O 文件 dat 如何从该函数中获取word文件的输出 void viewbooks void show the list of book persists in library int
  • 为什么如果条件无法比较负整数和正整数[重复]

    这个问题在这里已经有答案了 include
  • gsub的时间复杂度

    一根长绳子s仅包含0 and 1 这段 Ruby 代码计算了有多少个1有 s gsub 1 count Big O 表示法的时间复杂度是多少 有没有一个工具可以进行计算 据我所知 没有一个通用工具可以计算任意代码的 Big O 表示法 这将
  • 错误:数组不得包含空值 PostgreSQL

    我的查询是 SELECT id ARRAY AGG session os integer FROM t GROUP BY id HAVING ARRAY AGG session os integer ARRAY 1 NULL 它正在给予ER