问题标签 [dense-rank]
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 - DENSE_RANK() 没有重复
这是我的数据的样子:
这是我到目前为止的查询:
我想要实现的是,每次 col2 的值发生变化时,我的 denserank 列都会增加(即使值本身被重用)。我实际上不能按我有 denserank 的列排序,所以这行不通)。whatiwant
有关示例,请参见列。
有什么办法可以做到这一点DENSE_RANK()
吗?还是有替代方案?
sql-server - 带条件的 SQL Server 窗口函数(用于增量加载的 where 子句)
我们希望将数据从一个表增量加载到另一个表。有重复的机会。实际上它应该很简单,但是随着数据的增加它会变慢。
最简单的部分是直接提取数据。
查询计划非常快,只识别增量。
如果我想删除重复项,我添加了 DENSE_RANK。
问题是,SQL Server 在过滤 load_datetime 之前总是先执行窗口函数。我以各种不同的形式更改了查询并研究了网络以寻求解决方案。我也用 CROSS APPLY 和 CTE 进行了尝试:
仍然对 xx mio 行的整个表进行排序,而不是对增量进行排序。
有没有人知道如何在没有窗口函数的情况下只获取子查询的第一行来计算整个数据集?它需要是没有临时表的 SELECT 或 VIEW。
这些是当前计划:brentozar.com/pastetheplan/?id=Sy2IFSjKg(最快,无重复检查)brentozar.com/pastetheplan/?id=BJJpKSstl(对所有 50 行 mio 进行排序)brentozar.com/pastetheplan/?id=Byre5BoFe(与 cte 相同)
我尝试删除列存储索引并创建有用的非聚集索引。没有效果。仍然在 where 子句之前进行密集排序。
sql - 通过impala中的常用字母对记录进行有效分类
我在 impala ( TBL1
) 中有一个表,其中包含不同名称和不同数量的第一个常用字母。该表包含大约 3M 条记录。我想在表中添加一个新属性,其中每个常见的第一个字母都有一个类。它与工作方式相同,DENSE_RANK
但首字母的数量是动态的。相同首字母的数量不应少于p=3
字母(p
= 参数)。
以下是表格示例和所需结果:
...
sql - 让某个活动排名为 1 的 SQL 代码?
JFSTRTUP
每当发现给它“1”的等级(数量)时,我都会尝试返回。现在我得到一些JFSTRTUP
地方num <> 1
SQL 输出:
我想让第二行返回 1 而不是 3。
sql - SQL查询如何在增量键RANK中单独分组相同的结果
我有 A 和 B 列。我需要用以下方式对 A 列进行分组:2&3、5&6、8&9&10 基于 B 列中的值。A 列始终从 1 到 10 递增。我在 SQL 中找到一种方法来分别对 5&6 和 8&9&10 进行分组时遇到问题,因为它们具有相同的 B 值(1.4)。我想将增量 A 值组合在一起(由于缺少 7,5、6、8、9、10 不是增量值)。感谢任何帮助。谢谢。
sql - SQL Server 2008 - 查找艺术品的位置
考虑 SQL Server 2008 数据库中的下表和数据:
我怎样才能产生以下输出?
小提琴可用,在这里。
解释
艺术品展示在不同的地方。有些地方安装了双面艺术品(例如窗户),有些地方安装了单面艺术品(例如墙壁)。例如,位置 1 的艺术作品是双面的——它具有 SponsorshipArtworkID 1 和 2——而位置 5 的艺术作品是单面的(sponsorshipArtworkID 4)。
出于打印和安装目的,我需要一个查询来生成每件艺术品,无论是单面还是两面,以及与该作品相关的所有位置。(参考上面链接的小提琴中所需的输出。)例如,我需要告诉打印机:
- 打印双面艺术品(1,2)并将其安装在位置(1,2);
- 打印单面图稿 (3) 并将其安装在位置 (3,4);
- 打印单面图稿(4)并安装在位置(5);
- 打印单面图稿(1)并安装在位置(6);
- 打印双面图稿 (1,3) 并将其安装在位置 (7)。
请注意,有时会重复使用艺术作品,因此在单面和双面位置都使用了赞助艺术作品 ID 1。
我尝试使用 DENSE_RANK()、递归 CTE 和按组除法来解决此问题,但目前还无法解决。在此先感谢您的帮助。
sql - SQL Server DENSE_RANK()
我有一个表格,其中每个行项目都包含一个单元编号、日期戳和床位数。每天为每个单元创建一个包含床位数量的记录。
我正在尝试获取数据并创建一个如下表所示的表。
问题是有 24 张病床的行被合并以获得这些结果。
我尝试使用 DENSE_RANK 分配一个排名以用作分组编号来分隔 24 个床位的实例。我希望分组值是 1,2,2,3,4,4。相反,grouper 值是 1,2,2,3,2,2。
mysql - 在涉及多个属性的mysql中查找密集排名
如何根据多个属性找到密集秩?
产品表有 2 列LastReceiptCost和ProductId。
可以有 2 行具有相似的 ProductID 但不同的费率。
我只能根据 LastReceiptCost 找到排名。以下是 sql scipt ..
下图显示了正在获取的 o/pi:排名输出
如何根据产品 id 和 LastReceiptcost 的排序来查找排名,如下所示:
python - Pandas Rank:method = 'dense' 和 pct = True 的意外行为
假设我有一个重复的系列:
我想计算它的百分位数。计算多个匹配项的排名总是有点棘手,但我认为我得到了意想不到的结果:
所以我得到百分位数 [0.05, 0.1, 0.15, 0.2],我猜预期的输出可能是 [0.25, 0.5, 0.75, 1],即将输出乘以重复值的数量。
我的猜测是,为了计算百分位等级,pd.rank 只是简单地除以观察次数,这对于 method = 'dense' 是错误的。
所以我的问题是:
您是否同意输出是意外/错误的
我怎样才能获得我的预期输出,即如果我在系列中没有任何重复,我将获得的百分位等级分配给每个重复?
oracle - 具有不同日期的Oracle查询
我必须编写这个查询,它有点复杂。我希望有人可以提供帮助,因为我以前从这里得到了很多帮助。
假设我有一个客户股票投资组合。以及公司股票代码列表,以及股票代码的购买日期。我的列表看起来像这样:
现在,为了计算一些 YTD 性能,我需要应用以下逻辑:
如果购买日期 > 01/01/2017,我将使用购买时股票代码的收盘价。如果购买日期 < 01/01/2017。我将使用 <= 2016 年 12 月 31 日的收盘价。
涉及 2 个表:1) 投资组合表 2) 价格历史
我已经做到了这一点:
这给了我上面的列表。现在,我不知道如何将其与上述逻辑结合起来,以获得正确的日期,并追求正确的价格。
我希望我能正确解释这一点。
帮助会很大,如果对你有帮助,我可以解释更多,帮助我。
谢谢你。