问题标签 [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 - 连续日期排名
我需要获得连续未付款的金额:
正如你从这里看到的,我从 id 2 中得到了正确的未付款数:他的第一次未付款是在 3 月,第二次是在 4 月。ID 3 也可以,因为我稍后会将他排除在外,但对于 ID 1,它表示第二次未付款是在 5 月,而我想成为第一次,因为他在 3 月未付款,但在 4 月再次付款,所以它应该从那里开始排名。一旦他支付了最后一笔款项,流程就会重新开始。
这个想法是在没有复杂查询的情况下保持简单。我只需要做与密集排名相同的事情,但前提是日期是连续的
我希望这个例子足够清楚。
编辑:这是我从当前查询中得到的:
我想得到的是:
这样,如果我想获得最大(排名)来检查用户当前有多少未付款,我会得到该 ID 有 1 次未付款,ID 2 有两个连续未付款,ID 3 有 0 次未付款。这是因为在第四次连续未付款时,我必须将用户视为流失。
编辑:29/06/2013
在另一个论坛有人给了我一个完美的解决方案: https ://forums.oracle.com/thread/2555552
sql - 连接来自 SQL DENSE_Rank 的字符串结果
我有一种情况,我需要将 DENSE_RANK 函数的 SQL 结果“连接”成一个字符串,我不知道有另一个 SQL 函数可以做到这一点。
问题是我最终从 DENSE_RANK 函数中获得了相同等级的多行,这是可以预料的,例如:
我想要实现的是如下所示的结果,所以因为 ID 1 有 2 个信息具有相同的等级,所以我想将它们“连接”成一个字符串(逗号分隔):
我目前有以下代码,它为我提供了 DENSE_RANK 的结果,但我一直在试图弄清楚如何在我有一个“连接”字符串的地方获得我的最终结果集,我尝试了一些不同的技术并且有通过stackoverflow好好看看,但我找不到一种让它工作的方法。
sql - SQL dense_rank 函数
这是一个 sql dense_rank 函数问题。我一直在研究互联网试图找到答案。我已经尝试了几个版本,但没有任何工作。这是我遇到的问题:有人在 7/13 更改了程序。从 7 月 14 日起,该计划现在消除了薪水领域。我必须找到 = 0 的最新记录,然后找到 > 0 的第二个最新记录。这是我尝试过的代码之一:
这些是结果。它们看起来不错,只是我只需要底部的 2 行。有没有办法只接收最后两行?YMDEND 并不总是 99991231,所以我不能使用该字段。
sql - DB2 SQL - 按日期时间排序的两个字段的密集排名分组
我知道这是其他人过去必须解决的问题,但在我有限的知识范围内,还没有克服困难。我有按日期时间排序的数据,需要按两个字段(状态和队列)的组合进行分组。在给定时间范围内状态和队列相同的情况下,它们应被视为同一组的一部分,因此具有相同的 id。
为了实现这一点,我尝试实现 DENSE_RANK(),并且出于所有意图和目的,它已经成功 - 除了组的排序。下面是一个例子:
结果是这样的:
如您所知,“GRP”出现故障(我也知道使用 date(EVENT_DATE) 不是解决方案)。
sql - T-SQL“dense_rank”,每个等级的最大行数
如果我做一个
对于列 colname 中具有相同值的所有行,我得到相同的排名。
但是,我想将具有相同等级的行数限制为@maxrows,以便当@maxrows 行在colname 中具有相同的值时,即使colname 的值仍然相同,也会为下一行分配一个新的等级。
我怎样才能做到这一点?
sql - 如何在 SQL Server 中将值从密集排名函数中提取出来
在下面的查询中,我想将 Dense Rank 函数转换为 nvarchar(255) 但它给出了语法错误。我有以下问题-
- 是否可以强制转换从密集排名函数返回的值?
- 如果是,语法是什么?
sql - sql改变列顺序
如何使用sql server 2005将列中的旧序列更改为新序列
sql - SQL 查询链接表,从一个表中返回最早的历史以及相关的结果
我有两个需要查询的表。我们称它们为表 A 和表 A_HISTORIES。表 A 中的每一行都链接到 A_HISTORIES 中的多行。我想要做的是能够将表 A 中的每一行与表 A_HISTORIES 中最早的历史联系起来,例如:-
但是,这只会返回 A/A_HISTORIES 中具有最早 CREATED_DATE 的行。任何人都可以帮我在 A 中的每一行执行此操作吗?谢谢
sql - 无需排序即可获取组 ID 的有效方法
想象一下,我有一个像这样的非规范化表:
我需要构建一个查询来返回每个人的姓名,以及他们所在国家/地区的唯一 ID。ID 不一定必须是连续的;更重要的是,它们不必按任何顺序排列。实现这一目标的最有效方法是什么?
最简单的解决方案似乎是DENSE_RANK
:
但是,这会在我的CountryName
专栏中引起排序,这是一种浪费的性能猪。我想出了这个替代方案,它使用ROW_NUMBER
众所周知的技巧来抑制其排序:
我是否正确假设第二个查询通常会更好地执行(不仅仅是在我设计的数据集上)?是否有任何可能产生影响的因素(例如 上的索引CountryName
)?有没有更优雅的表达方式?
sql - mssql的内部选择顺序
我需要在这个内部选择中按 UserId 进行排序(所以在考虑最后一个 WHERE 子句之前)但是因为我收到错误
ORDER BY 子句在视图、内联函数中无效...
我不能那样做。有没有其他方法可以像现在一样按 UserId 和 DENSE_RANK() 按 JobId 排序?
大多数 UserId 值是 NULL 并且当按 JobId 进行密集排序时,我需要对这些 JobId 进行排序,以便首先是 UserId != NULL