问题标签 [unnest]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
620 浏览

sql - 将数组的元素组合成不同的数组

我需要拆分数组中的文本元素并通过索引将元素(array_agg)组合到不同的行中

例如,输入是

我需要用'$'分割每个元素,所需的输出是:

很抱歉第一次没有说清楚。我已经编辑了我的问题。我尝试了类似的选项,但无法弄清楚如何使用以“$”sysmbol 分隔的多个文本元素来获取它

0 投票
1 回答
146 浏览

postgresql - 您如何在 postgres 9.4 中将 int4range 取消嵌套到多行?

输入:

选择'一个字符串',unnest(int4range(98,104));

电流输出:

“错误:函数 unnest(int4range) 不存在”

期望的输出:

'一个字符串', 98

'一个字符串', 99

'一个字符串', 100

'一个字符串', 101

'一个字符串', 102

'一个字符串', 103

0 投票
1 回答
214 浏览

sql - 来自两个有序数组的单个更新查询

因此,假设我有两个具有相同数量元素的有序数组,其中每个数组的每个索引都引用同一索引处的另一个

而不是在循环中执行多个更新

有没有办法将这些数组拉入 Postgres 并在单个UPDATE查询中使用它们?

就像是:

0 投票
0 回答
698 浏览

arrays - 在 PostgreSQL 中取消嵌套嵌套数组

给定嵌套数组:

如何将数组拆分为行?

我试过unnest了,但它适用于内部元素:

0 投票
1 回答
789 浏览

postgresql - 如何使用子查询的多行返回值插入表中?

我究竟如何让它发挥作用?我正在尽力形成一个查询,该查询采用从第一个查询生成的主键,然后将它们与静态第二个值 (33) 一起插入到第二个表中。我显然收到了“用作表达式的子查询返回的不止一行”错误。我用谷歌搜索了我的眼球,无法弄清楚这个问题。也许有更好的方法来做我想做的事情。

如果这很重要,我正在使用 Postgresql 9.5。

0 投票
1 回答
85 浏览

sql - 根据观看的节目类别将一条记录拆分为多条记录

我最近开始使用 postgres,我来自 oracle 背景。只是想知道我写的查询是否可以在 postgres 中以更好的方式实现。

问题详情:

我有两张桌子:

  1. 使用细节
  2. 节目信息

Usage_detail 包含有关观看频道的任何用户的信息。例如,用户 A 的会话长度为 1 小时 10 分 0 秒,从今天下午 1:15 开始

Program_info 表包含预定的节目详情和相应的类别。

例如:

我正在寻找的输出是:

我目前的做法:

我将 start_time 和 end_time 持续时间分为 30 分钟间隔(因为程序类别可能每 30 分钟更改一次)。就像我提到的示例一样,我首先创建了 3 条记录(从下午 1:15 到下午 1:30、下午 1:30 到下午 2:00、下午 2:00 到下午 2:25)然后根据 program_category 对持续时间求和.

我写了一些可读性差的代码,它动态地从一条记录中生成多条记录,而不使用 postgres 的数组和 unnest 功能。

谁能建议使用 Array/unnest 或 postgres 中可用的任何其他功能来解决此问题的最佳方法是什么?我不是在寻找确切的代码,只是在寻找方向。

0 投票
1 回答
243 浏览

sql - 具有列名之一的 Postgres FROM 查询

作为上一个问题的后续:

我有以下查询:

这给了我正确的匹配,但现在的值array_content需要是动态的,并且也是列值之一。

假设我正在使用聚合函数来获取查询中的数组内容:

现在我需要的是让array_values列代替未嵌套部分中定义的 array_content 。可能吗?现在它给出了一个未定义列名的异常。

0 投票
2 回答
14954 浏览

sql - UNNEST 表达式引用既不分组也不聚合的列

Google Analytics BigQuery 表的结构如下(旧版 SQL 表示法 - 仅显示相关字段):

在这样一个表上,以下查询运行良好:

但是使用这种替代语法:

触发以下错误:

错误:UNNEST 表达式引用既未分组也未聚合的列命中

我知道UNNEST(hits)必须以某种方式分组或聚合,但是由于此列是array (repeated),它到底是什么意思?

如果我尝试hits按照要求“对列进行分组”,如下所示:

然后我得到一个Grouping by expressions of type STRUCT is not allowed错误。

如何更正这种替代语法以产生与第一个语法相同的结果?

0 投票
1 回答
734 浏览

python - 使用 Psycopg2 和 unnest 时的“未知”数据类型

我正在尝试使用 python 将 UK Companies House csv 文件中的数据批量加载到 PostgreSQL 中。

我正在将每一行数据转换为一个字典列表,然后使用一个 unnest 语句将数据解压缩到一个大容量的 sql 语句中,这是我正在做的一个示例,(源中有更多字段)...

只要将所有内容都转换为字符串,此代码就可以正常工作,但是当我尝试将数据转换为日期时,每次日期记录没有值时都会出现以下错误(注意此值None由条件设置,所以应该加载到 PostgreSQL 中)。

我尝试将类型转换::DATE为 unnest 语句中,如下所示:

但这无济于事。我的本地人的打印显示以下单个记录:

我不确定这是否相关,但我注意到局部变量一旦从 dict 中取出,就会全部放在一个列表中:['None']但是导致问题的日期变量 ( dissolutiondate) 以真正的None价值。

0 投票
0 回答
186 浏览

postgresql - 将批量数据插入postgresql

如果我们想通过使用 unnest() 将批量数据插入 PostgreSQL 数据库,并且如果我们有这样的数据

对于这种类型的数据,如何将数据插入 100000 行