问题标签 [lateral]

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 投票
1 回答
41 浏览

postgresql - 左加入速度问题

谁能解释为什么第一个查询比第二个查询快一点?

我正在使用多个左连接,我正在尝试优化它。每一秒对我来说都很重要。我可以在这里使用左连接横向吗?有什么优化技巧吗?

0 投票
3 回答
51330 浏览

view - 带有示例示例的 Hive 横向视图,其中 Hive 表具有 1 列作为数组

我的用例是我在 hive 中有一个表,其中一列是 INT,一列是数组数据类型。我想水平显示它..

0 投票
1 回答
12924 浏览

sql - Postgres 查询中的“对表的 FROM 子句条目的无效引用”

我有以下查询:

它导致以下错误:

对表“appointment_intakes”的 FROM 子句条目的无效引用

我添加后错误开始发生:

因为我需要计算产品的数量。

如何避免发生此错误?

0 投票
1 回答
4799 浏览

postgresql - Postgresql - LEFT JOIN LATERAL 比子查询慢

我在使用 postgresql 9.5 的“LEFT JOIN LATERAL”函数时遇到了一些困难。

在我的表中,有“ID”、“DATE”、“CODE”三列。一个人 (ID) 有多个行,如下所示。ID 数为 362,总行数约为 2500000。

我需要总结药物 A 在药物 B 的第一天和最后一天之间使用的信息。

在上述情况下,ID(1)[在20020103~20020106之间;用药期B].

为了完成这项工作,我使用“LEFT LATERAL JOIN”编写 SQL 代码,如下所示。

只有 362 个人 ID,但这个 postgresql 代码大约需要 2 分钟。

它太慢了。因此,我尝试了另一个使用子查询的 SQL 代码。

这段代码并不简单,但非常快(只需 1.6 秒)。

当我比较两个代码的解释时,第二个代码使用哈希连接,但第一个代码没有。

我可以得到一些提示,以更有效地改进具有“左横向连接”功能的第一个代码吗?

0 投票
2 回答
130 浏览

postgresql - 如何在同一张表中的 GROUP 内执行 LIMIT?

尽管我在这里阅读了所有类似的问题,但我无法弄清楚如何在组内进行限制。阅读 PSQL 文档也无济于事 :( 考虑以下几点:

我想获得按分数排序的每个给定文章 ID 的前 5 篇相关文章的列表。

这是我尝试过的:

它什么也不返回。我的印象是外部查询就像循环,所以我想我只需要源 ID。

另外,如果我想加入articles有列的表格idtitle在结果集中获取相关文章的标题怎么办?

我在内部查询中添加了连接:

但这让它变得非常非常缓慢。

0 投票
1 回答
99 浏览

sql - postgres:如何调用返回表并从查询中传递参数的函数

举个例子:

返回表的函数:

调用它以便它返回一条记录(或任何你称之为的):

调用它使其返回一个表(好):

但是我该如何调用它,以便参数来自查询?

0 投票
1 回答
2073 浏览

postgresql - Postgres 横向连接多个表以限制结果

我对 Postgres 中的横向连接有疑问。

我的用例是我想返回一个组合多个表但限制返回的出版物和评论数量的数据集。简化的表模式如下

表作者

  • ID
  • 姓名

表审查

  • ID
  • AUTHOR_ID
  • PUBLICATION_ID
  • 内容

表发布

  • ID
  • 姓名

表作者出版

  • AUTHOR_ID
  • PUBLICATION_ID

所以对于我的初始查询,我有这个:

这将返回我需要的数据,例如,我得到了作者的姓名、身份证以及他们所属的所有评论和出版物的列表。我想要做的是限制评论和出版物的数量。例如返回 5 个评论和 3 个出版物。

我尝试使用横向查询执行此操作,但遇到了一个问题,如果我执行单个横向查询,它会按预期工作。

就像:

这将返回只有 5 条评论的数据集 - 但如果我添加第二个横向查询

我现在得到 25 条带有重复/重复数据的评论和出版物的结果。

所以我的问题是您是否允许在单个 PG 查询中进行多个横向连接,如果不允许,有什么好方法可以限制 JOIN 的结果数量?

谢谢!

0 投票
1 回答
1109 浏览

sql - 如何在postgres和JOIN中获取jsonb数组中的键值

我有看起来像在 postgres 中的 json 表中的数据,其中有一列名为 content 的数据类似于

我提取密钥的方式是

但是,当我收到错误时,我不能使用它来加入/加入

我尝试使用 LATERAL,但我需要澄清这是否会创建交叉连接,因为输出看起来并不安静。

对我应该在这里采用的其他方法有什么建议吗?

0 投票
3 回答
581 浏览

sql - Postgres - 横向连接两侧随机值

我正在尝试生成下表:

所以,我想生成两个随机的人,每个人有 3 个随机效用。生成的效用不在人与人之间共享。

我想出了以下查询:

但这会产生以下内容:

因此,如您所见,结果包含 6 个随机人,每个人都有他/她自己的随机效用。

如前所述,我需要 2 个随机人,每个人有 3 个随机实用程序。如何修复此查询?

0 投票
0 回答
116 浏览

postgresql - 在收入前 5 组中的每个组中选择前 2 名产品

我有一个名为bills的表,其中包含以下列:idproduct – product id、product_group – product_group_id、Revenue – 某种货币的收入

我想从收入前 5 名的产品组中获得前 2 名的产品。任何帮助表示赞赏。

这是我到目前为止: