问题标签 [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 投票
3 回答
414 浏览

sql - 从同一个子查询中选择多个聚合结果

我发现自己越来越频繁地进行这样的统计——对于 tbl1 中的每条记录,使用它作为条件来扫描 tbl2 并在 tbl2 上进行聚合,返回聚合结果。使用子查询很容易。

但是我需要在同一个子查询中一次性进行多次聚合,而不是多次扫描。

例如,这里有一些用于分析的样本数据:

要查看事件在给定时间范围内的分布情况、当前方法和查询计划以及所需的输出:

有 2 个子计划,似乎pg 必须扫描表evt_log两次才能进行两次相同的聚合。我想避免这种情况。因为聚合条件是完全一样的,如果它可以一次完成许多统计聚合,它可能会快得多。日志可以变得非常大,处理需要相当长的时间。

对我嵌套join的建议解决方案的反馈未按预期工作:

建议解决方案二的反馈:写作不同,但查询计划基本相同,有2个子计划。

对于建议的解决方案 II,如果聚合作为记录返回,查询计划将如下所示: 与之前的查询相比,速度大致提高了一倍。(但最终结果不需要记录类型元素。)

LATERAL加入解决方案按预期工作。谢谢。

0 投票
3 回答
1403 浏览

sql - 将一行转换为列数更少的多行

我想在 PostgreSQL 中将单行转换为多行,其中一些列被删除。这是当前输出的示例:

使用以下查询:

这就是我想要的:

如何修改查询以获得上述所需的输出?

0 投票
1 回答
820 浏览

postgresql - PostGresql:从另一个表的随机行复制数据

我有两张桌子,stuffnonsense

http://sqlfiddle.com/#!17/313fb/1

我想将随机值从 复制nonsensestuff。我可以使用上一个问题的答案对单个值执行此操作:SQL Server Copy Random data from a table to another

但是,我想从同一行复制多个值(dataand more),当然,子查询不会让我这样做。

我是 Microsoft SQL,我可以使用以下内容:

我读过 PostGresql 使用类似的东西,LEFT JOIN LATERAL而不是OUTER APPPLY,但简单地替换对我不起作用。

如何使用另一个表的随机行中的多个值进行更新?

0 投票
2 回答
219 浏览

sql - postgresql工作时间简化查询

我需要一些简化查询的帮助(比如避免重复等)

http://www.sqlfiddle.com/#!17/3607d/1/0

我们有 2 个对象:

  • working hours定义:mon_from, mon_to, tue_from...; 如果值null在那一天不起作用

  • officenametimezone定义working_hours_id

需要简化查询该办公室是否正在工作,如果办公室没有指定工作时间,那么它是 24/7 开放的。

0 投票
1 回答
326 浏览

hive - Hive 中没有单词顺序的 Ngram

创建name_tab:

插入语句:

创建 name_tab_new :

插入语句:

Hive 中的这些请求有效。它按国家/地区创建 ngram。{aa, bb, cc}问题:对于一个国家来说,这个 ngram和这个 ngram是有区别的{bb, aa, cc}

我想要一个单词命令无关紧要的解决方案。{aa, bb, cc}对于一个国家,我希望和之间没有差异{bb, aa, cc}。我只想要其中一个。

非常感谢

结果示例:

*英格兰,面包,三明治,果汁,120

英格兰,桌子,椅子,工具,54

英格兰,三明治,面包,果汁,32

意大利,海,罗马,Coliseo,47*

其实,我想要的是:

*英格兰,面包,三明治,果汁,152

英格兰,桌子,椅子,工具,54

意大利,海,罗马,Coliseo,47*

我希望 ngrams 函数中有一个选项可以不考虑订单。

在表 bdd 中,变量“var2”是由空格分隔的几个单词的列表。

在表 name_tab 中,我们有:

英格兰第一行 ,{"ngram":["bread","sandwich","juice"],"estfrequency":120.0}, {"ngram":["desk","chair","tool"]," estfrequency":54.0}, {"ngram":["sandwich","bread","juice"],"estfrequency":32.0}

意大利二线 ,{"ngram":["sea","Roma","Coliseo"],"estfrequency":47.0}

0 投票
2 回答
590 浏览

sql - 导致 PostgreSQL 9.3 中的语法错误的代码有什么问题

下面是我写的一段 SQL 代码。我想将两条记录合并到一条记录中,其中第一条记录域显示为“来自源”,第二条记录的域变为“到域”。我需要做更多的过滤,但为什么这个简单的语句不起作用?

我收到错误“输入末尾的语法错误”

提前致谢

PostgreSQL 版本 9.3

0 投票
1 回答
6113 浏览

sql - Postgresql LATERAL vs INNER JOIN

加入

我知道这里的连接将被计算一次,然后与主请求与每个 FROM 的请求合并。


在我看来,如果加入将几行旋转到一帧,那么它会更有效率,但如果它是 1 比 1,那么 LATERAL - 我认为对吗?

0 投票
2 回答
1888 浏览

hadoop - 如何应用 Hive Explode/Lateral View 多个阵列?

我有如下数据。

[{"aref":"4864190760901781","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref ":null,"aprd":null},{"aref":"4864190760905386","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null, "aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760906244","aprd":null},{"aref":null,"aprd":"UC "},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760906269","aprd":null},{"aref ":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760906301","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null },{"aref":null,"aprd":null},{"aref":"4864190760907010","aprd":null},{"aref":null,"aprd":"UC"},{" aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760907127","aprd":null},{"aref":null," aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760908786","aprd":null },{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760909289","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null," aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760917217","aprd":null},{"aref":null,"aprd":"UC" },{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760917514","aprd":null},{"aref" :null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760918728"," aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760928420","aprd":null},{"aref":null,"aprd":"UC"},{"aref" :null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760929006","aprd":null},{"aref":null,"aprd" :"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760931945","aprd":null}, {"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":" 4864190760933107","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760936217","aprd":null},{"aref":null,"aprd":"UC" },{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760937835","aprd":null},{"aref" :null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null},{"aref":"4864190760941175"," aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null}, {"aref":"4864190760942157","aprd":null},{"aref":null,"aprd":"UC"},{"aref":null,"aprd":null},{"aref":null,"aprd":null}]

如何对我的数据应用 Hive Explode / 横向视图?

我想检索两列 aref & aprd

0 投票
1 回答
993 浏览

postgresql - Postgres 10横向未嵌套缺少空值

我有一个 Postgres 表,其中文本列的内容用“|”分隔。

我试图 unnest(string_to_array()) 该列以分隔行,这些行工作正常,除了我的 NULL 值(> 90% 的所有条目)被排除在外。我尝试了几种方法:

或者

如此处建议:PostgreSQL unnest with empty array

我得到什么:

但这就是我需要的:

0 投票
1 回答
184 浏览

view - LATERAL VIEW and CASE Statement in KSQL

is there a LATERAL VIEW Statement in KSQL i cant finde anything in the docs. Or is there any alternative Comand to get the same result on column? When I use the Statement I get following error

Also as i see there is no CASE Statement, is there also some alternative for this?