问题标签 [partition-by]

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 回答
586 浏览

sql - Query 和 Partition By 子句按窗口分组

我有以下代码

但结果是这样的:

我需要像这样按窗口分组。

id= 1 Status = 1 的第一组应该以 Status = 2 (2017-05-01) 的第一行结束,因此总数为 3,然后从 2017-06-01 重新开始到 2017-09-01共有4行。

怎样才能做到这一点?

0 投票
1 回答
1171 浏览

sql - sql row_number() vs select row_number() 获取数据

我有下表

我想知道为什么第一个查询给出正确的行数,而第二个查询只返回 1

结果在这里:http ://sqlfiddle.com/#!6/dfd59/11

我想使用它在不使用语句的情况下将 100、100 第一和第五行以及 95、95 应用于此查询中的第二和第四行with。请让我知道是否有办法

0 投票
1 回答
50 浏览

tsql - TSQL:我的 Partition By 做错了什么?

我想弄清楚的是如何让 Partition 列看起来像上面那样。(我在不同的组/分区之间添加了一个空格,以便更容易查看)。

我一直在尝试使用接近下面查询的方法来做到这一点。我已经尝试了 ROW_NUMBER() OVER() 中的几乎所有列组合

0 投票
1 回答
870 浏览

hive - 将数据插入配置单元表时,每个分区一个文件(每个分区合并)

我在存储在 s3 位置的配置单元中创建了一个表。它有大约 10 列,并按相同的顺序划分为 3 列月、年和城市。

我正在运行一个创建数据帧(20 亿行)并写入该表的 spark 作业。

selectExpr(cs.map(_.name): _*) 对数据框中的列重新排序以与表中的顺序保持一致。

当我运行上述命令插入表时,我看到每个城市下创建了如此多的暂存文件和多个小文件。

我希望每年每月在每个城市下获得一个文件。 合并每个分区。

预期的:

任何帮助表示赞赏。

0 投票
1 回答
65 浏览

postgresql - Postgresql 按重复项目分组

我正在使用 postgresql 存储来自 RTLS 平台的历史数据。位置数据不是连续收集的。history_movements 实现为单个表,如下所示(它是一个简化的表,但足以展示用例):

我正在寻找一种方法来进行查询,显示用户住在各个房间,聚合与同一房间相关的数据并计算总体停留时间,如下所示

查看各种线程,我很确定我必须使用滞后和按功能分区,但不清楚如何。有什么提示吗?此致。

0 投票
1 回答
338 浏览

hive - 查找 Hive 中每个分区的前 n 行

我尝试了类似的东西

但它不起作用,因为您应该将所有选定的列放在 group by 语句中。

有没有类似的东西

在蜂巢中?谢谢。

编辑: column1 是在其上进行分区的列

0 投票
1 回答
38 浏览

sql-server - 在指定时间获取所有数据并在 T-SQL 中列出所有此事务

我有这个演示数据库

这是输出

在此处输入图像描述

我编写这段代码是为了在超过 1950 年的指定时间内获取所有交易,它的工作原理是这样的

输出:

在此处输入图像描述

但我需要用这样的相同代码列出所有这些交易和它的历史

在此处输入图像描述

我相信使用子查询可能会发生这种情况,但我认为使用它会出现性能问题,我发现很多问题建议使用交叉应用和其他窗口 - 排名,但我不熟悉这些方式,我被困住了查询,我还无法找到赖特解决方案。

0 投票
1 回答
186 浏览

sql - SQL 查询未按预期给出结果

我需要一些帮助。我有下表(示例如下所示):

我正在尝试获得如下输出:

即,这些是某种块,每个 empId 可以有多个块。所以从上面的示例表中,empID '1' 有 2 个块(从第 1 行开始到第 7 行),第 2 个块从第 8 行到第 14 行;empID 2 有 1 个块,第 14 行到第 16 行。

block_id是一个字母数字字段,可以有任何随机值。此外,该表未按上述顺序排列,仅用于说明目的。我在红移,到目前为止有以下查询:

但这不起作用,因为它没有给出准确的结果。请帮忙!!

0 投票
1 回答
54 浏览

sql - 如何仅在 Oracle 中按连续数据分组

我正在尝试显示每个费率以及开始和结束日期的笼子数量。这将进入发票,我们每天为每个笼子开具账单,这些笼子可以有不同的费率。

这不是一个简单GROUP BY的获取MINMAX日期,因为笼子的数量可以下降或上升,然后再次回到相同的数字,所以我只需要查看连续数据。

我搜索了一个解决方案并找到了这个答案。我对其进行了一些修改以满足我的需要并提出了这个

我在 PL/SQL 中运行了这个查询,它似乎非常适合我想要做的事情。当我尝试在我们正在使用的软件工具中插入解决方案时,结果发现它不支持ROW_NUMBER()OVERPARTITION BY.

有没有一种方法可以在不必使用这些内置功能的情况下获得相同的结果?

我已经开始考虑ROW_NUMBER()手动实施并找到了这种方法。当我测试它时它似乎有效,但我并没有真正插入它。我现在有点坚持实施PARTITION BY,我只是觉得有点失落,不知道我是否朝着正确的方向前进。

编辑

我刚刚注意到查询返回了不正确的结果。

对于I1带有7笼子的情况,应该返回 2 行。第一行开始并结束于2017-11-07,而第二行开始于2017-11-10并结束于2017-11-11

0 投票
1 回答
76 浏览

apache-spark - 将 Dataset/Dataframe 写入 HDFS 目录,但 partitionBy() 后没有列名:Spark 2.1.0

我正在使用 partitionBy() 按某个 ID 对数据集/数据框进行分区。但是,当文件被写入时,它正在创建目录,其名称和列的值由“=”符号分隔。

如何避免获取列名和“=”符号。这是创建的示例目录。