问题标签 [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.
sql - 如何从列中选择单个值并使用分区方式复制到另一列?
我想创建一个名为 NewHeight 的新列,它采用在 Height 列中找到的单个值并将其复制为所有相同的名称。这是我正在使用的查询。
这是我的输出:
这是所需的输出:
oracle - 使用具有不同值的 OVER..PARTITION BY
表CALENDAR_ORG
有以下列和数据
我想OVER..PARTION BY
用来选择按BUSINESS_DAY
分类的最大值UNIT_CODE
如果使用GROUP BY
,它将是
SELECT MAX(BUSINESS_DAY) AS RUN_DATE FROM CALENDAR_ORG WHERE GROUP_NAME ='ANG' GROUP BY UNIT_CODE;
返回:
20150801
20150801
确实,我得到了 4 条20150801
使用以下查询的记录OVER..PARTITION BY
SELECT MAX(BUSINESS_DAY) OVER (PARTITION BY UNIT_CODE) AS RUN_DATE FROM CALENDAR_ORG WHERE GROUP_NAME='ANG';
20150801
20150801
20150801
20150801
预期的结果应该是
20150801
20150801
sql - 为几个分层组优化 SUM OVER PARTITION BY
我有一个如下表:
我需要找到SUM([Spend]
不同的组如下:
- 整个表中所有行的总支出
- 每个区域的总支出
- 每个地区和国家组的总支出
- 每个地区、国家和广告客户组的总支出
所以我在下面写了这个查询:
但是对于只有 450K 行的表,该查询需要超过 15 分钟。我想知道是否有任何方法可以优化此性能。提前感谢您的回答/建议!
sql - SQL 运行总组与总阈值重置
我有桌子:
我想对它们进行分组,使组的总年龄不超过 10 岁。
我可以通过递归来做到这一点,但在较大的表上效率低下。
所以,我需要的输出将是:
有没有好的非递归解决方案?
编辑:试验#1:按照运行总计的思路思考,我得到了一张包含 CurrRunningTotal 和 RunningTotal 的表格,直到上一行。
我觉得使用 PreviousRunningTotal 当我的阈值被满足时我可以做一些魔法来获得一个带有填充的总数,即当阈值被超过时,将 10 添加到当前行以抵消总数。仍然接近但没有雪茄。
sql - 如何在sql中通过两列匹配生成行号分区
表1
我想要下面的结果
如果 ReOrder 与 Qty 不同,则在 reorder=Qty 之后日期将相同
sql - 如何通过接受 NULL 值的查询进行分区?
我有一个需要PARTITION BY
与 2 个字段一起使用的查询。我这样做是这样的:
问题是,country_id
中使用的第二个聚合字段PARTITION BY
,可以NULL
,我需要ROW_NUMBER()
总结一下。
row_number()
只有在结果集中有相同id
的记录时才进行总结。如果有记录与and或相同and is country_id
,我希望对其进行总结。id
country_id
id
country_id
NULL
有没有办法这样做?
sql-server - 带有日期计算的 SQL Server PARTITION BY
我正在尝试运行一些需要 PARTITION BY 但无法解决所需复杂性的 SQL。下面的数据被简化了,但想法是使用表格的前三列来找到第四列(我已经手动添加了值),同时还显示了表格中的其他列。
对于表中的每一个客户,只要在当前记录的查询日期之前小于28天,就需要统计该客户最后一次查询的天数,否则显示为NULL。还需要考虑可以通过更小的查询列值来打破的关系 - 较小的值被计为第一个。
提前致谢
java - 支持按查询分区的 HSQL 的内存数据库替代方案
处理 Spring Boot 应用程序测试用例。正在使用 hsql 内存数据库模拟 Oracle 数据库,但发现它不支持按查询分区并且失败并出现以下错误:
通过修改检查了分区,但我不想修改我的查询,而是使用支持我的查询的数据库。
哪个替代数据库将在这里工作?
sql - ORDER BY 在 PARTITION BY 函数中的作用是什么?
我有一个数据表,
当我执行以下查询时,我得到了错误的最大序列,但我得到了正确的最大有效日期。
询问:
输出:
如果我在查询中删除 order by,我会得到正确的输出。
询问:
输出:
我知道当我们使用 MAX 函数时,不需要使用 order by 子句。但是我很想知道 order by 如何在按功能分区中工作,以及为什么当我使用 order by 子句时它给出了错误的序列结果和正确的日期结果?
sql - SQL 计算基于 Hive 列中先前值重置的累积总和
我正在尝试用这样的东西创建一个累积值
因此,问题基本上是在 VAL1 中的前一行的基础上继续在 CUMU_VAL2 列中将值加 1,但是当 VAL1 列中的前一个值为零时,此总和会重置。基本上,如果你在 excel 中这样做,那么 Cell(D3) 的公式是
我相信我应该能够做到这样,但是当先前的值为零时如何添加案例然后重置总和?