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

sql - 在 SQL 中,如何为另一列的每个不同值创建新的值列?

像这样的东西:SQL如何根据现有列按组的计数为新列创建值?

但我有两个以上不同的价值观。我有一个可变的 n 个不同的值,所以我并不总是知道我有很多不同的计数。

然后在原始表中,我希望每行“3”、“4”等都有计数,即所有带有“3”的行都有相同的计数,所有带有“4”的行都有相同的计数等

编辑:另外,我将如何通过不同的日期拆分计数,即每个不同值的“2017-07-19”?

edit2:这是我的做法,但现在我需要通过不同的日期拆分它。

edit3:这就是我通过日期拆分的方式。

编辑4:我希望 PARTITION BY 被记录在更好的地方。BigQuery 或任何有详细文档的东西似乎都没有被广泛写入

0 投票
3 回答
25207 浏览

mysql - Rank() 在 mysql 中的分区上

我完全难过在 mysql 中从 rank() over(partition by x, order by y desc) 创建一个新列“LoginRank”。

从 sql server 我将编写以下查询,以创建按“login”分组并按“id”排序的列“Loginrank”。

我有下表。

我尝试将许多现有的 mysql 修复应用到我的数据集,但仍然存在问题。

任何帮助是极大的赞赏。谢谢!

0 投票
1 回答
33 浏览

sql - 分区以获得正确的日期

我想检索FirstScanned列下的最早日期。我的问题是产品可以在某个时候再次注册为新产品,发生这种情况时,我希望FirstScanned根据位置 1上的最新扫描检索最早的扫描日期

在以下示例中,我尝试检索正确的 FirstScanned 日期但没有成功:

我的结果如下所示:

但它应该是:

0 投票
1 回答
39 浏览

sql - SQL:你如何根据不连续的日期进行第二次分组?

我正在使用 SQL Server 2008 R2。我有一个名为 Name 的表,其结构和示例数据如下:

请注意,员工 10001 随着时间的推移已经更改了 3 次名称和一次更改了 DOD。我要做的是按 ID、名称和 DOD 进行分组,以使数据在日期之间保持一致。我还需要获取这些组的最小和最大日期,并确保日期按顺序排列。如果名称或 DOD 发生变化,然后又变回原来的样子,则需要创建一个新组。

因此,输出将如下所示:

Name 表非常大,因此会出现 Data 在 20 个月内保持一致,然后在 1 个月内保持一致,然后又在 20 个月内保持一致的情况。

提前感谢您,如果您需要更多信息,请告诉我。

0 投票
0 回答
546 浏览

ms-access - Access DB 中的 Row_number 和 Partition By

我有这段代码,我试图在 Access DB 上运行并遇到语法错误。我想行号和分区依据在 Access 中不起作用。我希望我能以另一种方式获得帮助,以便我可以在 Access 中运行。

0 投票
1 回答
46 浏览

sql-server - TSql根据分区和行号返回列

我有一个 SQL 服务器表,我试图在其中获取一个计算列 - MyPartition - 根据变量@segment 指示分区的编号。例如,如果@segment = 3,则以下输出为真。

到目前为止,我所拥有的是:

但正如您可以猜测的那样,分区只是 rowid 上的分区,给出了 mypartition = 1 的所有值。我不确定如何按子句构造分区来实现这一点。

0 投票
1 回答
1452 浏览

sql - 从'over partition by'中删除重复项

我使用 over partition by 子句来计算人们每月的数字。

我的结果的一个简短示例:

我通过将每日数字划分为个人和月份来计算每月数字,例如

我遇到的主要问题是我只想显示今天的每日数据,但要显示整个月的值。我将每个人的数字分组并限制在今天,但是为了能够按人分组,我需要对当月至今的数字求和,这显然让我

每日数字是正确的,但它显然对重复的行求和,这给了我一个不正确的数字。

今天的理想结果是:

没有重复的行。

有人对此有任何建议吗?基本上删除重复的分区行,所以我只得到正确的月份日期数字分组

更新:

每行只是每个人的个人数字。没有分组,所以每个人每天至少可以有 20 行单独的数字

0 投票
3 回答
99 浏览

sql - SQL 过滤基于行而不使用 Group by

我有一个查询,它将对 6 个表执行连接并根据条件获取各种列。我想添加一个额外的过滤条件,它只会给我那些拥有count(distinct dateCaptured)>30. 我可以使用Group byand获取满足此条件的成员列表having。但由于这一情况,我不想按其他列名分组。我需要PARTITION BY在这种情况下使用。

样品表a

询问

假设表 a 有 30 多条 Identifier 记录37348。我怎样才能只获得上述查询的这个标识符。

这些是我对上述 SELECT 感兴趣的患者。

0 投票
1 回答
334 浏览

sql-server - 选择分区中的最小 ID - MSSQL t-SQL

我想选择一个分区的最小 ID。有点像 dense_rank 的工作方式我想要一个与每个分区关联的唯一编号,但我希望该编号成为分区中的最小主键。这是我所追求的一个例子。

结果集示例

0 投票
1 回答
2899 浏览

sql - 窗口函数 ms 访问

我正在研究 MS Access 中的课程安排数据库。有各种各样的课程,每门课都讲多次,有时一天要讲多次,但不一定每天都讲。每门课程都有一套独特的软件和数据,存储在笔记本电脑上。每门课程都有一套装有该软件的笔记本电脑。

对于任何给定的培训日,我都需要为不同房间的正确课程分配一系列笔记本电脑 ID,具体取决于该房间将有多少人参加该课程,以便教师知道将哪些笔记本电脑带到他们的房间那天教​​课。

例如,我有原始数据:

我还知道以下有关笔记本电脑的信息:

基于以上两个表,我想输出:

我知道这是一个窗口功能,但 MS Access 没有领先或滞后。有解决方法吗?